SSRS: Master-Detail-Bericht mit zwei Datenquellen

8

Ich habe zwei lokale Datenquellen, die ich in den Bericht einfügen kann. Funktioniert kein Problem. Aber wie richte ich den Bericht ein? Eine Datenquelle enthält eine Liste von Mitarbeitern und Informationen zu ihnen. Der andere enthält eine Menge Arbeitsstunden für jeden Mitarbeiter.

Ich möchte eine Tabelle für die Liste der Angestellten verwenden und dann eine weitere Tabelle für die Arbeitsstunden unter jedem Angestellten (mit ihren Arbeitsstunden) haben.

Ist das überhaupt möglich? Muss ich einen Unterbericht verwenden? Müsste ich sie in eine Datenquelle zusammenführen? = /

    
Svish 28.04.2009, 12:22
quelle

4 Antworten

5

Soweit ich das beurteilen kann, ist es unmöglich, einen Datensatz in einen anderen zu verschachteln, ohne einen Unterbericht zu verwenden.

Dies bedeutet, dass Sie eines von zwei Dingen tun müssen:

  1. Refactor Ihre zwei Datenquellen in eine einzige Datenquelle. Führen Sie beispielsweise einen Join zwischen den Mitarbeitern und den Arbeitszeiten für jeden Mitarbeiter durch. Sie können dann die Gruppierungseigenschaften des Table-Objekts verwenden, um die Liste wie gewünscht zu formatieren.

  2. Wenn das Verbinden der beiden Datenquellen nicht praktikabel ist, können Sie Unterberichte verwenden, um das zu erreichen, was Sie wollen. Erstellen Sie einen Unterbericht, der die Arbeitsstunden-Datenquelle enthält, und geben Sie einen Parameter für den aktuellen Mitarbeiter an. Filtern Sie die Arbeitsstunden mit diesem Parameter.

    In Ihrem übergeordneten Bericht können Sie den Unterbericht in die Liste einfügen und die Mitarbeiter-ID für die aktuelle Zeile als Parameter übergeben.

    Beachten Sie, dass bei der Verwendung von Unterberichten einige Formatierungsfehler bestehen. Ich konnte in den meisten Fällen umgehen, aber die bevorzugte Methode wäre definitiv die Nummer eins oben.

AaronSieb 01.05.2009, 15:55
quelle
5

Hinzufügen einer neuen Antwort, um sicherzustellen, dass eine Benachrichtigung gesendet wird.

Die Verwendung eines Unterberichts ist die einfachste Methode, wenn sie funktioniert. Sie können einen Unterbericht einfach per Drag & Drop auf eine Tabellenzelle ziehen und den Inhaltsbereich dieser Zelle ausfüllen. Wenn Sie mit der rechten Maustaste auf den Unterbericht klicken, können Sie die Parameter für den Unterbericht bearbeiten. Wie die meisten Werte in SSRS können die Parameter auf Ausdrücke gesetzt werden, die die Felder in der Tabelle verwenden.

Filtern Sie im Unterbericht nur Ihre Ergebnisse, um nur die Datensätze anzuzeigen, die mit dem Mitarbeiter verknüpft sind, der als Parameter übergeben wurde.

Die andere Route, die Sie verwenden können, besteht darin, Ihre beiden Datenquellen mithilfe eines Joins zusammenzuführen. Dadurch erhalten Sie Daten wie folgt:

%Vor%

Sie können dann eine Gruppe für die wiederholten Spalten (Mitarbeiter in diesem Beispiel) erstellen und die Eigenschaft "HideDuplicates" für diese Spalten aktivieren. Das Ergebnis sieht folgendermaßen aus:

%Vor%     
AaronSieb 04.05.2009 15:10
quelle
1

Um mehrere Datenquellen einzurichten, müssen Sie zwei separate Listenobjekte in den Bericht einfügen. Gehe zum Designer und in der Toolbox kannst du eine neue "Liste" einfügen. Dann können Sie einen weiteren Bericht erstellen. Verknüpfen Sie diese zweite Liste mit Ihrem sekundären Dataset, das Sie über die sekundäre Datenquelle implementieren.

Es ist ein bisschen weit hergeholt, aber die Grundidee ist, dass jedes Listenobjekt im Bericht nur mit einer Datenquelle verknüpft werden kann.

    
Pete H. 28.04.2009 12:49
quelle
0

In der Berichtsdokumentklasse gibt es eine Eigenschaft namens "Database", die eine Sammlung von Tabellen enthält. Sie können "SetDataSource" für jede dieser Tabellen verwenden, um die separaten Listen von Objekten in den Bericht einzufügen.

    
Augustin L. Manolache 01.06.2010 16:11
quelle