Benutzer mit den meisten Antworten
SSRS 2008 R2: Hilfe bei Gruppierung von Positionsdaten (Child Group & Adjacent)

Frage
-
Hallo,
eine Stored Procedure liefert folgendes Ergebnis:
Kunde ID | Name | VK Datum |Position | Artikel
1 | Mustermann | 01.01.2012 |Text A | 1 | Dreirad
1 | Mustermann | 01.01.2012 | Text A |2 | Auto
1 | Mustermann | 01.01.2012 | Text A |3 | Roller
2 | Musterfrau | 03.01.2012 | Text B |1 | E-Bike 2 | Musterfrau | 03.01.2012 | Text B |2 | Fahrrad
2 | Musterfrau | 03.01.2012 | Text B |3 | Roller… und weitere 500 Datensätze.
Im Report sollen die Daten Kunde ID, Name und VK-Datum als Kopf und die Detaildaten als Positionen angezeigt werden, also
1 | Mustermann | 01.01.2012
Text A
1 | Dreirad
2 | Auto
3 | Roller2 | Musterfrau | 03.01.2012
Text A
1 | E-Bike
2 | Fahrrad
3 | RollerWer kann mir einen Tipp geben, wie ich mit Gruppen meine Anforderung lösen kann? Mit den Gruppen habe ich schon rumgespielt aber ich schaffe es nicht, die Positionsdaten untereinander anzeigen zu lassen – es erscheint immer nur die erste Position.
Mit der „Parent-Group“ habe ich schon herumgespielt, eine „Child Group“ hinzugefügt, mit dem „Adjacent“ getestet, alles ohne Erfolg.Prinzipiell müsste die Sache doch recht einfach sein. Gruppe für die Kopfdaten (Mustermann, Musterfrau) hinzufügen und der Tablix irgendwie beibringen, dass sich die Positionen wiederholen sollen. Aber ich komme nicht drauf, wie ich meine Anforderung lösen kann.
Hilfe ;-)
Antworten
-
Hallo! Ich habe mir mal die Daten in folgendem Skript aufbereitet:
Declare @mytab as Table(Kunde_ID int, Name varchar(20), VK_Datum date, Infotext varchar(20), Position int, Artikel varchar(20)); Insert into @mytab(Kunde_ID, Name, VK_Datum, Infotext, Position, Artikel) values (1 , 'Mustermann' , '2012-01-01' , 'Text A' , 1 , 'Dreirad'); Insert into @mytab(Kunde_ID, Name, VK_Datum, Infotext, Position, Artikel) values (1 , 'Mustermann' , '2012-01-01' , 'Text A' , 2 , 'Auto '); Insert into @mytab(Kunde_ID, Name, VK_Datum, Infotext, Position, Artikel) values (1 , 'Mustermann' , '2012-01-01' , 'Text A' , 3 , 'Roller '); Insert into @mytab(Kunde_ID, Name, VK_Datum, Infotext, Position, Artikel) values (2 , 'Musterfrau' , '2012-01-03' , 'Text B' , 1 , 'E-Bike '); Insert into @mytab(Kunde_ID, Name, VK_Datum, Infotext, Position, Artikel) values (2 , 'Musterfrau' , '2012-01-03' , 'Text B' , 2 , 'Fahrrad'); Insert into @mytab(Kunde_ID, Name, VK_Datum, Infotext, Position, Artikel) values (2 , 'Musterfrau' , '2012-01-03' , 'Text B' , 3 , 'Roller '); Select Kunde_ID, Name, VK_Datum, Infotext, Position, Artikel from @mytab;
Dann habe ich eine Tabelle in den Report eingefügt und dort die Felder Position und Artikel aufgenommen.
Dann habe ich eine übergeordnete Gruppe (mit Gruppenkopf) nach Infotext erstellt und dort den Infotext angezeigt.
Dann habe ich eine übergeordnete Gruppe nach Kunde_ID (mit Gruppenkopf) erstellt und diese Zeilengruppe dann mit VK_Datum erweitert. Rechts neben der Spalte mit Kund_ID habe ich noch zwei leere Spalten eingefügt. In dieser Zeile werden (von links) die Spalten Kunde_ID, Name, VK_Datum angezeigt.Alternativ habe ich das ganze nochmal so aufgezogen, dass ich die links eingefügten Spalten wieder gelöscht habe und alle Daten übereinander eingefügt habe.
Die Tabelle hat dann also drei Spalten, in der obersten Gruppe steht Kunde_ID (Spalte 1), daneben Name (Spalte 2), VK_Datum (Spalte 3).
In der zweiten Gruppe ist die erste Spalte leer und Infotext zieht sich über Spalte 2 und 3.
In der Detail-Zeile ist die erste Spalte leer und dann kommen Position (Spalte 2) und Artikel (Spalte 3).HTH!
Kommen bei Deiner Prozedur wirklich alle Zeilen zurück?
Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP
www.insidesql.org/blogs/cmu- Als Antwort markiert Robert BreitenhoferModerator Montag, 24. September 2012 14:42
Alle Antworten
-
Hallo Christoph,
vielen Dank für deine Antwort.
Die Feldnamen sind die normalen Feldnamen, die man bei einer hinterlegten StoredProcedure auswählen kann. In der Expression sind somit auch keine Einstellungen hinterlegt.
Darf ich dich fragen, wie du mein Anliegen lösen würdest? Könntest du mir stichpunktartig schreiben, welche Gruppierung du wie verwenden würdest?
Viele Grüße
-
Hallo! Ich habe mir mal die Daten in folgendem Skript aufbereitet:
Declare @mytab as Table(Kunde_ID int, Name varchar(20), VK_Datum date, Infotext varchar(20), Position int, Artikel varchar(20)); Insert into @mytab(Kunde_ID, Name, VK_Datum, Infotext, Position, Artikel) values (1 , 'Mustermann' , '2012-01-01' , 'Text A' , 1 , 'Dreirad'); Insert into @mytab(Kunde_ID, Name, VK_Datum, Infotext, Position, Artikel) values (1 , 'Mustermann' , '2012-01-01' , 'Text A' , 2 , 'Auto '); Insert into @mytab(Kunde_ID, Name, VK_Datum, Infotext, Position, Artikel) values (1 , 'Mustermann' , '2012-01-01' , 'Text A' , 3 , 'Roller '); Insert into @mytab(Kunde_ID, Name, VK_Datum, Infotext, Position, Artikel) values (2 , 'Musterfrau' , '2012-01-03' , 'Text B' , 1 , 'E-Bike '); Insert into @mytab(Kunde_ID, Name, VK_Datum, Infotext, Position, Artikel) values (2 , 'Musterfrau' , '2012-01-03' , 'Text B' , 2 , 'Fahrrad'); Insert into @mytab(Kunde_ID, Name, VK_Datum, Infotext, Position, Artikel) values (2 , 'Musterfrau' , '2012-01-03' , 'Text B' , 3 , 'Roller '); Select Kunde_ID, Name, VK_Datum, Infotext, Position, Artikel from @mytab;
Dann habe ich eine Tabelle in den Report eingefügt und dort die Felder Position und Artikel aufgenommen.
Dann habe ich eine übergeordnete Gruppe (mit Gruppenkopf) nach Infotext erstellt und dort den Infotext angezeigt.
Dann habe ich eine übergeordnete Gruppe nach Kunde_ID (mit Gruppenkopf) erstellt und diese Zeilengruppe dann mit VK_Datum erweitert. Rechts neben der Spalte mit Kund_ID habe ich noch zwei leere Spalten eingefügt. In dieser Zeile werden (von links) die Spalten Kunde_ID, Name, VK_Datum angezeigt.Alternativ habe ich das ganze nochmal so aufgezogen, dass ich die links eingefügten Spalten wieder gelöscht habe und alle Daten übereinander eingefügt habe.
Die Tabelle hat dann also drei Spalten, in der obersten Gruppe steht Kunde_ID (Spalte 1), daneben Name (Spalte 2), VK_Datum (Spalte 3).
In der zweiten Gruppe ist die erste Spalte leer und Infotext zieht sich über Spalte 2 und 3.
In der Detail-Zeile ist die erste Spalte leer und dann kommen Position (Spalte 2) und Artikel (Spalte 3).HTH!
Kommen bei Deiner Prozedur wirklich alle Zeilen zurück?
Einen schönen Tag noch,
Christoph
--
Microsoft SQL Server MVP
www.insidesql.org/blogs/cmu- Als Antwort markiert Robert BreitenhoferModerator Montag, 24. September 2012 14:42
-
Hallo Mining,
Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.Grüße,
Robert
Robert Breitenhofer, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
- Bearbeitet Robert BreitenhoferModerator Montag, 24. September 2012 14:42 Formatierung