2008-12-29 4 views
10

Ich habe zwei Berichtsparameter, die automatisch eingerichtet wurden, als ich die zugehörigen Datensätze erstellt habe. Sie sind ReportID und CompanyID. Der Benutzer wählt einen Firmennamen aus einem Listenfeld und einen Berichtsnamen aus einem anderen Listenfeld aus. Die Standard SELECT ID, Name FROM Tabellenname Abfrage wurde verwendet, um die entsprechenden Listenfelder zu füllen. Die Berichtsparameter funktionieren einwandfrei und der Bericht wird ordnungsgemäß angezeigt. Mein Problem ist das. Ich möchte den ausgewählten Berichtsnamen und den Firmennamen in den Berichtskopf einfügen (dies sind die Namen, die der Benutzer aus den Dropdown-Listen ausgewählt hat, bevor er auf die Schaltfläche Bericht anzeigen klickt. Ich habe zwei neue Parameter eingerichtet, ReportName und CompanyName; markiert Sie sind ausgeblendet und setzen ihre Standardwerte auf die entsprechenden Datensätze. Das Problem ist, dass der Header immer den Vornamen aus der Liste anzeigt, nicht den Namen, den der Benutzer ausgewählt hat. Meine Frage ist, wie platziere ich die ausgewählte Information in der Kopfzeile?Reporting Services: So platzieren Sie einen Berichtsparameter in der Kopfzeile

+0

Warum haben Sie zwei neue Parameter eingerichtet? Warum haben die, die automatisch erstellt wurden, nicht funktioniert? – Dano

Antwort

22

Ich hatte kein Problem mit dem ursprünglichen Satz von Parametern, die von einer Abfrage ausgefüllt werden.

In meinen Berichten habe ich einen "Farm" -Parameter, der von einer "SELECT FarmNumber, FarmName FROM Farms" -Abfrage ausgefüllt wird. Der Benutzer wählt die gewünschte Farm aus einer ComboBox aus. Ich zeige die ausgewählte Farm in der Kopfzeile des Berichts mit diesem Ausdruck:

=Parameters!Farm.Label 

„Label“ ist der „Anzeigetext“ (Farmnamen in diesem Fall) für die Farm, die der Benutzer ausgewählt.

+0

Vielen Dank. Ich dachte, es sollte so einfach sein. Ich brauche nur einen besseren Überblick über alle verfügbaren Eigenschaften. Nochmals vielen Dank für die Hilfe. –

+0

FYI, für einen date -Parameter, wenn Sie nicht wollen, dass der Zeitteil angezeigt wird, kann es besser sein, die 'Value' Eigenschaft anstelle der' Label' Eigenschaft zu verwenden. Zum Beispiel Ersetzen von '= Parameters! StartDate.Label' durch' = Parameters! StartDate.Value'. Wenn der Zeitabschnitt auf Mitternacht eingestellt ist, wird er nicht angezeigt. –

3

Hat wirft nicht in Parametern! ReportID.Value in ein Textfeld in der Kopfarbeit?

Von dem, was es klingt wie, sollten Sie die ursprünglichen Parameter verwenden, was in der ‚ReportID‘ Stelle gestattet.

1

Mit SSRS 2008 R2, hatte ich einen Header mit mehreren Parametern:

My Export for [@ReportDate] [@AccountId.Label] 
1

Wenn CompanyID ein Mehrwertparameter ist, dies funktionieren wird:

=Join(Parameters!CompanyIDs.Label,System.Environment.NewLine) 
0

= Parameter Farm. Wert

Wert mit Etikett ersetzen

= Parameter! Farm. Etikett