2016-07-13 4 views
0

Ich habe Daten-Set in der folgenden ReihenfolgeSSRS Report in 4 Spalten

Phase WP FY  ITEMNO 
3C  DS 2016 2007463 
3D  DS1 2017 2007463 
3E  DS2 2018 2007463 
3F  DS3 2019 2007463 
3G  DS4 2020 2007463 

Ich versuche, einen Bericht in SSRS wie dies in 4 verschiedene Abschnitte und getrennt durch eine horizontale Linie

2007463 

3C  DS 2016  3D  DS1 2017 3E  DS2 2018 3F  DS3 2019 
3G  DS4 2020 
+0

Kann jemand beantworten, was die Bedingung oder Ausdruck sein würde oder wenn ich die Spalten Nummer in der Tabelle einen Tablix oder Matrix Bericht –

Antwort

0
geteilt zu machen

Dies könnte ein bisschen wie ein Hack, aber was würde ich tun ist

  • eine Spaltennummer in Ihre Daten hinzufügen et, die sich horizontal von 1 bis 4

  • Put 4 gleichen Tabellen auf dem Bericht

  • Filter jeder der Tabellen durch die Spaltennummer

Zum Beispiel ändert sich, mit diesem Datensatz I a hinzugefügt Spaltennummer, die von 1 bis 4 variiert (ich habe auch noch ein paar Zeilen):

WITH cteBase AS (
    SELECT 
     Phase 
    , WP 
    , FY 
    , (ROW_NUMBER() OVER(ORDER BY Phase) - 1) % 4 + 1 AS ColumnNum 
    FROM (VALUES 
     ('3C', 'DS', '2016') 
    , ('3D', 'DS1', '2017') 
    , ('3E', 'DS2', '2018') 
    , ('3F', 'DS3', '2019') 
    , ('3G', 'DS4', '2020') 
    , ('3H', 'DS5', '2020') 
    , ('3I', 'DS6', '2020') 
    , ('3J', 'DS7', '2020') 
    , ('3K', 'DS8', '2020') 
    ) v(Phase, WP, FY) 
) 

SELECT 
    Phase 
, WP 
, FY 
, ColumnNum 
FROM cteBase 

Welches ist Ihr Datensatz mit der im Lieferumfang enthaltenen Spalte # gibt zurück

Phase WP FY ColumnNum 
3C DS 2016 1 
3D DS1 2017 2 
3E DS2 2018 3 
3F DS3 2019 4 
3G DS4 2020 1 
3H DS5 2020 2 
3I DS6 2020 3 
3J DS7 2020 4 
3K DS8 2020 1 

Dann erstellen Sie eine Tabelle für "Spalte 1", formatieren Sie es jedoch, und kopieren Sie es/fügen Sie es ein. Diese eingefügten Tabellen werden für die Spalten 2, 3 und 4 verwendet.

In jeder Tabelle legen Sie einen Tablix-Filter für die entsprechende Spalte # fest.

enter image description here

Dies ist das Vorschauer

enter image description here

Edit: Wenn Sie dies für jeden Art.Nr. wiederholen mögen ...

hier mein Beispieldatensatz ist. Hinweis ich die Row_Number geändert durch Art.Nr. zu partitionieren

WITH cteBase AS (
    SELECT 
     Phase 
    , WP 
    , FY 
    , ItemNo 
    , (ROW_NUMBER() OVER(PARTITION BY ItemNo ORDER BY Phase) - 1) % 4 + 1 AS ColumnNum 
    FROM (VALUES 
     ('3C', 'DS', '2016', '20074063') 
    , ('3D', 'DS1', '2017', '20074063') 
    , ('3E', 'DS2', '2018', '20074063') 
    , ('3F', 'DS3', '2019', '20074063') 
    , ('3G', 'DS4', '2020', '20074063') 
    , ('3H', 'DS5', '2020', '20074063') 
    , ('3I', 'DS6', '2020', '20074063') 
    , ('3J', 'DS7', '2020', '20074063') 
    , ('3K', 'DS8', '2020', '20074063') 

    , ('3C', 'DS', '2016', '99991234') 
    , ('3D', 'DS1', '2017', '99991234') 
    , ('3E', 'DS2', '2018', '99991234') 
    , ('3F', 'DS3', '2019', '99991234') 
    , ('3G', 'DS4', '2020', '99991234') 
    , ('3H', 'DS5', '2020', '99991234') 
    , ('3I', 'DS6', '2020', '99991234') 
    , ('3J', 'DS7', '2020', '99991234') 
    , ('3K', 'DS8', '2020', '99991234') 
    ) v(Phase, WP, FY, ItemNo) 
) 

SELECT 
    Phase 
, WP 
, FY 
, ItemNo 
, ColumnNum 
FROM cteBase 

Dann auf dem SSRS-Bericht, an erster Stelle ein List-Objekt. Machen Sie es nach ItemNo gruppieren.

enter image description here

ein Textfeld in der Liste Setzen Sie die Art.Nr. zu zeigen, setzen Sie dann die Tabellen in der Liste. Hier

enter image description here

ist die Vorschau

enter image description here

Wenn Sie einen Seitenumbruch zwischen jedem Element in der Liste auswählen, um die Liste auswählen, dann öffnen Sie die Zeilengruppeneigenschaften, gehen Sie auf die Seite Breaks Abschnitt und markieren Sie das Kontrollkästchen "Zwischen jeder Instanz einer Gruppe".

enter image description here

+0

Ich habe verwenden müssen. Statt der Liste möchte ich Itemno's auf verschiedenen Seiten haben. Kannst du bitte Snapshots machen, wie ich das machen kann. –

+0

Ich würde immer noch eine Liste verwenden. Aktivieren Sie die Seitenumbrüche zwischen den einzelnen Instanzen der Gruppe. Ich habe die Antwort mit einem neuen Screenshot aktualisiert. – Bostaevski

+0

Danke das hat meine Frage Boštaevski gelöst. –