wake-up-neo.com

Zeilenanzahl im SSRS-Berichts-Generator abrufen

Ich habe einen Bericht mit Report Builder 3.0 erstellt (der SQL Server 2008 R2 verwendet). Nun möchte ich nun, wie viele Datensätze von der Datenbank zum Bericht abgerufen werden.

Dies ist entweder durch die Funktion count in SSRS oder durch die Verwendung der Funktion RANK/ROW_NUMBER in SQL Query und die Zuweisung dieses Feldes zu dem Bericht möglich (RANK/ROW_NUMBER würde uns jede Zeile anzeigen lassen, und die Navigation zur letzten Seite des Berichts würde mir helfen, die Gesamtzahl der Zeilen).

Ich habe die Zählfunktion ausprobiert, aber das zählt für ein bestimmtes Feld im Bericht. Zum Beispiel = Count(Field!FieldName.value, "DataSetName") Problem bei diesem Ansatz: "FieldName" ist im Bericht nicht eindeutig und daher werden die Zähler wiederholt

Zweite Option: Rank/Row_Number hinzugefügt, aber auch sie verwenden die gleiche Art von Feldname und daher werden auch hier die Zählungen dupliziert.

Hauptproblem: Es gibt kein Feld in meiner Abfrage, das eindeutig ist (und daher habe ich ROW_NUMBER () versucht)

Wie kann ich die Gesamtzahl der Zeilen oder den Rang (für jede Zeile) in SSRS 2008 ermitteln?

19
Romil N

Verwenden Sie die Funktion CountRows . Zum Beispiel

=CountRows("MyDataset")

gibt die Anzahl der Zeilen in MyDataSet an.

43
Jamie F

Wie jemand anderes oben erwähnte, konnte ich CountRows("DatasetName") nicht dazu bringen, in der Kopfzeile zu arbeiten, bis ich es so verpackte: CSTR(CountRows("DatasetName")).

0
chainsofthought

In den Eigenschaften des Tablix-Steuerelements gibt es einen Eigenschaftsnamen mit dem Namen NoRowsMessage . Geben Sie Ihre Nachricht hier ein, wenn keine Zeile ausgegeben wird.

0

Ich habe dafür eine Problemumgehung gefunden. Erstellen Sie zuerst eine Datenspalte, deren Wert immer auf 1 festgelegt ist. Dadurch wird für jede Datenzeile ein Wert von 1 angegeben.

Abfragespalte

, 1 AS Unit

Verwenden Sie die Funktion "RunningValue" in Ihrem Bericht (siehe unten).

=RunningValue(Fields!Unit.Value,Sum,"DataSet")

Dies funktioniert auch als "laufende Summe", wenn Sie danach suchen.

0
Studio472