none
Reporting Services: eine Tabelle, mehrere Datensätze RRS feed

  • Frage

  • Hallo zusammen,

    ich möchte einen Report erstellen, auf den mit einem Übergabeparameter zugegriffen wird und in Abhängigkeit des Parameters in einer Tabelle die Daten eines Datensatzes ausgegeben werden. Da ich einer Tabelle (oder Tablix, wie es neuerdings heißt) einen Datensatz zuordnen muss, muss ich soweit ich das verstanden habe für jeden der 42 Datensätze, die ich habe eine Tablix einfügen und dann in Abhängigkeit des Parameters die Tabellen einblenden. Wenn ich diese 42 Tabellen jetzt in der Designansicht untereinander anordne, werden diese allerdings auch versetzt eingeblendet.
    Gibt es eine Möglichkeit die Tabelle, die angezeigt wird oben erscheinen zu lassen ohne dass ich die 42 Tabellen in der Designansicht übereinander schmeiße? Das würde spätere Änderungen nämlich ziemlich erschweren. Oder gibt es eine Möglichkeit das Problem auf anderem Wege zu lösen - die Datensätze stehen übrigens in keiner Beziehung zueinander!

    Gruß
    Mittwoch, 16. September 2009 13:36

Antworten

  • Hallo Markus,

    das hilft nur bedingt weiter:
    Und wieso ist es nicht möglich diese verschiedenen Tabellen zusammenzufassen?
    Wenn nicht bereits beim Import so gibt es mit SQL verschiedenste Möglich
    zum Beispiel mit UNION.

    Gruß Elmar

    Donnerstag, 17. September 2009 07:49
  • Hallo Markus,
    ich ergänze mal die Antwort von Elmar.
    Vorschläge:
    - Verwende ein UNION ALL für die Ergebnisse aus verschiedenen Tabellen in Abhängigkeit von Deinem Parameter
    - Schreibe eine Prozedur, die Dir die Daten in einem Recordset liefert.
    - Erstelle im Report dynamisches SQL, was Dir aber immer ein Recordset vom gleichen Format liefert.

    Ansonsten wird das Handling sehr unangenehm! ,-)

    Vielleicht stimmt ja auch das Tabellendesign nicht. Warum hast Du 42 Tabellen mit identischem Aufbau?
    Einen schönen Tag noch, Christoph Muthmann Microsoft SQL Server MVP, http://www.insidesql.org
    Donnerstag, 17. September 2009 09:58
    Beantworter

Alle Antworten

  • Hallo Markus,

    Was sind das für Datenquellen?

    denn gleich 42 Tabellen in einem Bericht ist doch sehr ungewöhnlich,
    selbst wenn sie alle unterschiedlicher Herkunft sind.

    Üblicherweise versucht man das bereits durch die Abfrage,
    die Zahl der Datenquellen so weit wie möglich zu reduzieren.

    Gruß Elmar

    Mittwoch, 16. September 2009 14:07
  • Hallo Elmar,

    ich habe einen Report über Fehler, die beim Datenimport aufgetreten sind. Die Details über die Fehler stehen in verschiedenen Tabellen. Der erste Report zeigt mir in welchem Datensatz der Fehler aufgetreten ist, der zweite (per Drillthrough) in welchem Feld und im nächsten Schritt sollen die Details angezeigt werden.

    Gruß
    Markus
    Donnerstag, 17. September 2009 06:47
  • Hallo Markus,

    das hilft nur bedingt weiter:
    Und wieso ist es nicht möglich diese verschiedenen Tabellen zusammenzufassen?
    Wenn nicht bereits beim Import so gibt es mit SQL verschiedenste Möglich
    zum Beispiel mit UNION.

    Gruß Elmar

    Donnerstag, 17. September 2009 07:49
  • Hallo Markus,
    ich ergänze mal die Antwort von Elmar.
    Vorschläge:
    - Verwende ein UNION ALL für die Ergebnisse aus verschiedenen Tabellen in Abhängigkeit von Deinem Parameter
    - Schreibe eine Prozedur, die Dir die Daten in einem Recordset liefert.
    - Erstelle im Report dynamisches SQL, was Dir aber immer ein Recordset vom gleichen Format liefert.

    Ansonsten wird das Handling sehr unangenehm! ,-)

    Vielleicht stimmt ja auch das Tabellendesign nicht. Warum hast Du 42 Tabellen mit identischem Aufbau?
    Einen schönen Tag noch, Christoph Muthmann Microsoft SQL Server MVP, http://www.insidesql.org
    Donnerstag, 17. September 2009 09:58
    Beantworter
  • Hallo Elmar, Hallo Christoph,

    vielen Dank für die Hilfe, ich stand etwas auf dem Schlauch. Als ich das zum ersten Mal mit UNION versucht hatte, hat es nicht funktioniert - allerdings lag der Fehler woanders.

    Danke!
    Montag, 21. September 2009 08:43