2016-09-23 2 views
0

ich einen SSRS-Bericht enthält zwei Datensätze zu schreiben:SSRS dynamische Änderung Textbox Wert des Berichtskopf basierend auf tablix Zeilenänderungsgruppenwert

CustomerAddressDS: select customer_id, customer_name, customer_address von tbl_customer_address wo customer_id = @Internal_Parameter_Customer_ID

CustomerOrderDS: select customer_id, order_date, order_number von tbl_customer_orders wo order_date = @Parameter_OrderDate

aus irgendeinem Grund ich konnte CustomerAddressDS und CustomerOrderDS nicht in einem einzigen SQL-Code verknüpfen.

In dem Bericht werden zwei Parameter:

@Parameter_OrderDate für Benutzer verwendet werden, für CustomerOrderDS

@Internal_Parameter_Customer_ID ein Datum auszuwählen, ist ein interner Parameter und der Standardwert wird mit Bezug zu customer_id von Dataset CustomerOrderDS sollte

der Bericht Layout wie:

In Report Header  
Customer ID  
Customer Name 
Customer Address 

(Customer ID, Customer Name, Customer Address) are put into one textbox by using expression. 

In Report Body: 
A tablix bound to CustomerOrderDS to store the customer's daily orders : 

ORDER DATE   ORDER NUMBER 
YYYY-MM-DD     XXXXX 

Total of the date:   XXXXX 

Der Tablix ist nach Kundennummer gruppiert und wird beim Ändern der Kundennummer umgebrochen. Meine Frage ist, dass, wenn ich die Kundennummer in der Tablix ändere, wie könnte ich die Kundennummer/Name/Adresse in der Kopfzeile des Berichts ändern? Es scheint, dass die Aggregatfunktion im Berichtsheader in meinem Fall nicht helfen kann.

Jede Hilfe würde sehr geschätzt werden.

Antwort

0

Ich hatte ein ähnliches Problem, wo ich Daten in der Kopfzeile benötigt, die zu einer Tabelle verwandt war. Da der Header nicht im gruppierten Bereich liegt, ist dies leider nicht möglich.

Eine Möglichkeit besteht darin, keine Kopfzeile zu verwenden und eine Kopfzeile am Anfang der Tabelle innerhalb der Gruppe zu erstellen, damit sie sich mit Ihrer Gruppierung ändert.

Eine andere Möglichkeit, die ich verwendet habe, war die Global Page Name Variable in der Kopfzeile (=Globals!PageName) und Festlegen der Page Name Eigenschaft auf der Tabelle.

enter image description here

Sie würden eine Seite Name wie:

=Fields!Customer_ID.Value & VBCRLF & 
Fields!Customer_Name.Value & VBCRLF & 
Fields!Customer_Address.Value 

Die vbcrlf ist für eine neue Zeile (V isual B asic C arriage R eturn L ine F eed).

+0

Für Ihre andere Möglichkeit, das zu tun, die Eigenschaft Page Name auf der Tabelle <- diese Tabelle bezieht sich auf CustomerAddressDS? Das bedeutet, dass ich immer noch CustomerAddressDS und CustomerOrderDS in den Berichtkörper einfügen muss? Kann ich einfach eine Tabelle CustomerOrderDS in den Berichtskörper einfügen, kann aber trotzdem den Trick machen? Vielen Dank. – TinySimonH

Verwandte Themen