Tablix: ทำซ้ำแถวส่วนหัวในแต่ละหน้าไม่ทำงาน - Report Builder 3.0


164

ฉันมีแท็บเล็ตที่มีแถวจำนวนมากที่ครอบคลุมหลายหน้า ฉันได้ตั้งค่าคุณสมบัติ Tablix ทำซ้ำแถวส่วนหัวในแต่ละหน้า แต่ไม่สามารถใช้งานได้ ฉันอ่านบางแห่งว่านี่เป็นข้อผิดพลาดที่รู้จักใน Report Builder 3.0 มันเป็นเรื่องจริงเหรอ? ถ้าไม่มีอะไรอีกบ้างที่ต้องทำ?

คำตอบ:


427

ขึ้นอยู่กับโครงสร้าง tablix ที่คุณใช้ ในตารางตัวอย่างเช่นคุณไม่มีกลุ่มคอลัมน์ดังนั้น Reporting Services จึงไม่รู้จักกล่องข้อความใดเป็นส่วนหัวคอลัมน์และตั้งค่าคุณสมบัติ RepeatColumnHeaders เป็น True ไม่ทำงาน

คุณต้อง:

  1. เปิดโหมดขั้นสูงในบานหน้าต่างจัดกลุ่ม (คลิกที่ลูกศรทางด้านขวาของกลุ่มคอลัมน์และเลือกโหมดขั้นสูง)
    • ภาพหน้าจอ
  2. ในพื้นที่แถวกลุ่ม (ไม่ใช่กลุ่มคอลัมน์) คลิกที่กลุ่มคงที่ซึ่งเน้นกล่องข้อความที่สอดคล้องกันในแท็บ คลิกแต่ละกลุ่มคงที่จนกว่าจะเน้นส่วนหัวคอลัมน์ซ้ายสุด นี่เป็นกลุ่มสแตติกแรกที่ปรากฏ
  3. ในหน้าต่างคุณสมบัติตั้งค่าRepeatOnNewPageคุณสมบัติเป็น True
    • ภาพหน้าจอ
  4. ตรวจสอบให้แน่ใจว่าการตั้งค่าคุณสมบัติKeepWithGroupAfter

KeepWithGroupระบุสถานที่ให้บริการกลุ่มที่สมาชิกคงต้องการที่จะติด หากตั้งค่าAfterเป็นสมาชิกแบบคงที่จะยึดกับกลุ่มที่อยู่ด้านหลังหรือด้านล่างทำหน้าที่เป็นส่วนหัวของกลุ่ม หากตั้งค่าBeforeเป็นสมาชิกแบบคงที่จะยึดกับกลุ่มก่อนหน้าหรือเหนือกว่านั้นทำหน้าที่เป็นส่วนท้ายของกลุ่ม หากตั้งค่าเป็นNoneReporting Services จะตัดสินใจว่าจะวางสมาชิกแบบคงที่ได้ที่ใด

ตอนนี้เมื่อคุณดูรายงานส่วนหัวคอลัมน์จะทำซ้ำในแต่ละหน้าของแท็บ

วิดีโอนี้แสดงวิธีตั้งค่าให้ตรงตามคำตอบที่อธิบายไว้


1
Stacia เมื่อฉันเลือก KeepWithGroup และพยายามบันทึกฉันจะได้รับ "Tablix 'DetailTablix' มี TablixMember ที่ไม่ถูกต้ององค์ประกอบ TablixMember ทั้งหมดใน TablixColumnHierarchy ต้องมีคุณสมบัติ RepeatOnNewPage เป็นเท็จ" ความคิดใด ๆ
moodboom

24
ฉันพบปัญหา Stacia คำตอบของคุณถูกต้องแน่นอนมันเป็นเรื่องยากที่จะพูดถูก โปรดทราบว่า Stacia บอกว่าจะเปลี่ยนพื้นที่ ROW Groups เมื่อตั้งค่าคุณสมบัติ RepeatOnNewPage ทุกอย่างเกี่ยวกับการแก้ปัญหานี้เกี่ยวข้องกับคอลัมน์ แต่คุณต้องเลือกกลุ่มแถว (ด้านซ้าย) ไม่ใช่กลุ่มคอลัมน์ (ด้านขวา) แม้ว่าคุณจะเริ่มต้นด้วยการคลิกที่ดร็อปดาวน์ในคอลัมน์ ขอบคุณ Stacia ยอดเยี่ยม
moodboom

5
+1 - ฉันเพิ่งอ่านจบเกี่ยวกับการเดินผ่านโหลไปทั่วอินเทอร์เน็ตและนี่คือการแก้ไขปัญหาที่ตรงที่สุดที่สุด - คุณยังอธิบายว่าทำไมตัวเลือกถึงสำคัญมาก ขอบคุณ!
JNK

3
วิดีโอนี้แสดงวิธีตั้งค่าตามคำตอบที่อธิบายไว้: youtube.com/watch?v=WAO819-gkKw
ข้าวกุ้ง

8
KeepWithGroup = หลังจากนั้นเป็นกุญแจสำคัญสำหรับฉัน เช่นเดียวกับสิ่งต่าง ๆ ของ Microsoft มากเกินไปนี่เป็นเคล็ดลับที่ไม่ชัดเจนที่จำเป็นในการทำให้คุณลักษณะทำงานได้ ขอบคุณ!
leqid

17

ฉันมี 2.0 และค้นพบข้างต้นเพื่อช่วย; อย่างไรก็ตามการเลือกคงไม่ได้เน้นเซลล์ด้วยเหตุผลบางอย่าง ฉันทำตามขั้นตอนเหล่านี้:

  1. ภายใต้กลุ่มคอลัมน์ให้เลือกขั้นสูงและสถิตจะปรากฏขึ้น
  2. คลิกที่สแตติกซึ่งปรากฏขึ้นในกลุ่มแถว
  3. ตั้ง KeepWithGroup เป็น After และ RepeatOnNewPage เป็นจริง

ตอนนี้ส่วนหัวคอลัมน์ของคุณควรทำซ้ำในแต่ละหน้า


มันทำงานได้อย่างสมบูรณ์แบบ .... ง่ายกว่าคำตอบข้างต้นซึ่งไม่ได้ผลสำหรับฉัน
R_Avery_17

โชคไม่ดีที่ทำให้ฉันเริ่มได้หน้าว่างอีกครั้ง
Mike

10

ฉันจะแก้ไขปัญหานี้ได้อย่างไรฉันเปลี่ยนรหัสด้วยตนเอง (จากเมนูมุมมอง / รหัส) ส่วนด้านล่างควรมีจำนวนคู่มาก<TablixMember> </TablixMember>ที่สุดเท่าที่จำนวนแถวอยู่ในแท็บลิก ในกรณีของฉันฉันมีคู่<TablixMember> </TablixMember>มากกว่าจำนวนแถวใน tablix นอกจากนี้หากคุณไปที่ "โหมดขั้นสูง" (ทางด้านขวาของ "กลุ่มคอลัมน์") จำนวนบรรทัดแบบคงที่ด้านหลัง "กลุ่มกลุ่ม" ควรจะเท่ากับจำนวนแถวในแท็บลิก วิธีที่จะทำให้มันเท่ากันคือการเปลี่ยนรหัส

<TablixRowHierarchy>
      <TablixMembers>
        <TablixMember>
          <KeepWithGroup>After</KeepWithGroup>
          <RepeatOnNewPage>true</RepeatOnNewPage>
        </TablixMember>
        <TablixMember>
          <Group Name="Detail" />
        </TablixMember>
      </TablixMembers>
    </TablixRowHierarchy>

ฉันประหลาดใจที่การทำเช่นนี้สามารถแก้ไขปัญหาได้ ฉันมีแท็บเล็ตที่มี 6 แถว (3 แถวส่วนหัวพร้อมกลุ่มที่มีส่วนหัวรายละเอียดและแถวส่วนท้าย) การดูแหล่งที่มานั้นมี 6 <TablixRow> s แต่ 7 <TablixMember> s ใน <TablixRowHierarchy> ฉันเดาได้ดีที่สุดว่าอะไรคือสิ่งที่พิเศษ (อันที่ห่อหุ้มกลุ่ม) และลบมันออก รุ่นนี้ไม่สามารถแสดงผลได้ แต่ข้อความแสดงข้อผิดพลาดระบุว่าแถวจำเป็นต้องมีการตั้งค่า <ซ้ำ ... > และ <KeepWith ... > เพื่อให้ตรงกับแถวก่อนหน้า ฉันเปลี่ยนเป็น "จริง" และ "หลังจาก" ในแถวที่ 3 (คงที่) และ voila! ฉันหวังว่าฉันเข้าใจจริงๆ;)!
GISmatters

ขอบคุณสำหรับสิ่งนี้. ฉันใช้ SSRS มานานกว่า 10 ปีแล้วและเพิ่งพบปัญหานี้ - จริง ๆ แล้วมีเสื้อคลุมพิเศษของ TablixMember รอบ ๆ กลุ่ม (ไม่ต้องสงสัยเลยจากการทดลองที่มีการเพิ่มและลบกลุ่ม) การล้างรายชื่อสมาชิกแก้ไขส่วนหัวที่ไม่ซ้ำกันอย่างลึกลับ
คาร์

ขอบคุณฉันต้องลบแถว TablixMember ส่วนเกินสองแถวที่ถูกจัดกลุ่มและไม่มีข้อมูล สัญญาณของสิ่งนี้สำหรับฉันในรายงานของฉันคือมีกลุ่มสแตติกสองกลุ่มแทนที่จะเป็นกลุ่มเดียว เมื่อฉันลบ XML ส่วนเกินที่ซ้อนกันแถวที่ทำซ้ำเริ่มทำงาน
Noppadet

1
ขอบคุณ. วิธีแก้ปัญหานี้ใช้งานได้เฉพาะกับรายงานของฉันที่ฉันต้องเผชิญกับปัญหาที่คล้ายกัน
Syed

เห็นได้ชัดว่าการตั้งค่าที่เหมาะสมหายไปใน Visual Studio ดังนั้นการตั้งค่าขั้นสูง“” เคล็ดลับที่อ้างถึง ReportBuilder ไม่ได้ช่วย การแก้ไขไฟล์ด้วยตนเองทำงานเหมือนมีเสน่ห์ ขอบคุณ!
MovGP0

9

เปิด Advanced Modeในบานหน้าต่างจัดกลุ่ม (คลิกที่ลูกศรทางด้านขวาของกลุ่มคอลัมน์และเลือกโหมดขั้นสูง)

ในพื้นที่แถวกลุ่ม (ไม่ใช่กลุ่มคอลัมน์) คลิกที่กลุ่มคงที่ซึ่งเน้นกล่องข้อความที่สอดคล้องกันในแท็บ

คลิกแต่ละกลุ่มคงที่จนกว่าจะเน้นส่วนหัวคอลัมน์ซ้ายสุด นี่เป็นกลุ่มสแตติกแรกที่ปรากฏ

ในตารางคุณสมบัติ:

  • กำหนดKeepWithGroupเป็นAfter
  • ตั้งค่าRepeatOnNewPageการTrueสำหรับส่วนหัวซ้ำ
  • กำหนดFixedDataให้Trueรักษาส่วนหัวให้มองเห็นได้

5

อีกวิธีหนึ่งในการทำสิ่งนี้ให้สำเร็จถ้าคุณยังมีปัญหาอยู่โดยทำดังต่อไปนี้

  • ล้างข้อความทั้งหมดในส่วนหัวของตารางปล่อยให้มันว่างเปล่า
  • ในส่วนรายงาน“ ส่วนหัว” ให้เพิ่มกล่องข้อความภายในสี่เหลี่ยมผืนผ้าแต่ละกล่องข้อความจะแสดงส่วนหัวคอลัมน์สำหรับตาราง
  • เนื่องจากสี่เหลี่ยมผืนผ้านี้อยู่ในส่วนหัวรายงานจึงจะแสดงในหน้ารายงานทั้งหมด

ขอบคุณ Sufian


2

สิ่งที่ใช้ได้ผลสำหรับฉันคือการสร้างรายงานใหม่ตั้งแต่เริ่มต้น

สิ่งนี้เสร็จสิ้นและรายงานใหม่ทำงานได้ฉันจะเปรียบเทียบไฟล์ 2 .rdl ใน Visual Studio สิ่งเหล่านี้อยู่ในรูปแบบ XML และฉันหวังว่า WindDiff อย่างรวดเร็วหรือบางสิ่งบางอย่างจะเปิดเผยสิ่งที่เป็นปัญหา

รูปลักษณ์เริ่มต้นแสดงให้เห็นว่ามีโค้ด 700 บรรทัดหรือมีความแตกต่างระหว่างไฟล์ทั้งสองเล็กน้อยโดยที่ 2 ที่ใหญ่กว่าเป็นไฟล์ที่ผิดพลาด แท็บเล็ต TablixHeader ดูคร่าวๆไม่เปิดเผยอะไรที่ชัดเจน

แต่ในกรณีของฉันมันเป็นไฟล์. rdl ที่เสียหาย เดิมนี้ถูกคัดลอกมาจากรายงานการทำงานดังนั้นในกระบวนการลบสิ่งที่ไม่ได้ใช้ซ้ำออกมาสิ่งนี้อาจทำให้เกิดความเสียหายได้ อย่างไรก็ตามรายงานอื่น ๆ ที่ทำกระบวนการเดียวกันนี้ส่วนหัวสามารถทำซ้ำได้เมื่อทำการตั้งค่าที่ถูกต้องใน Properties

หวังว่านี่จะช่วยได้ หากคุณมีรายงานที่ซับซ้อนนี่ไม่ใช่การแก้ไขด่วน แต่ใช้งานได้

บางทีการเปรียบเทียบไฟล์ XML ที่รู้จักกันดีกับไฟล์ที่ผิดพลาดในตอนท้ายของคุณอาจทำให้โพสต์ฟอรัมดี ฉันจะลองมันในตอนท้าย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.