2016-06-07 45 views
1

我需要將多個類似的存儲過程的結果合併到一個Tablix中。如何在類似於Excel公式的SSRS報告中創建表達式?

我使用多個存儲過程返回相同的數據,但對於不同的單位。因此,在一個「細胞」(我不知道這是否是在Tablix的數據字段正確的術語),我有一個表達,像這樣:

=IIF((Fields!Week.Value="WK1"),Fields!Price.Value,"") 

...這顯示有條件時的數據值「Week」字段的值是「WK1」,單位值「BARNEY」的存儲過程是數據集。在此之後(在同一行上,在Tablix右邊一列中),我需要顯示來自不同存儲過程的相同數據,其中使用的單位值是「RUBBLE」。我需要Expression從第一個存儲過程引用Tablix中的現有值(ItemCode),以便該行上的兩個單元顯示相同ItemCode(但不同單位)的值。

即小區/域是一個簡單的指針以從存儲過程返回的ItemCode值:

=Fields!ItemCode.Value 

如何使用一個公式來爲ItemCode顯示數據初始存儲過程是顯示數據在那一排上。類似這樣的:

=IIF((Fields!Week.Value="WK1" AND Fields.ItemCode=[Existing Item Code value in this row]),Fields!Price.Value,"") 

IOW,我需要什麼來取代此行中的「現有項目代碼值」才能完成此項工作?可能是這樣的:

=IIF((Fields!Week.Value="WK1" AND Fields.ItemCode=TextboxItemCodeData.Value),Fields!Price.Value,"") 

+1

如果我是正確的,你需要加入兩個數據集上ItemCode。 'Lookup(Fields!ItemCodeFromDataSet1.Value,Fields!ItemCodeFromDataSet2,Fields!PriceFromDataset2,「DataSet2」)'。以前的表達式會爲您提供數據集1中ItemCode的Price from Datat 2,它等於數據集2中的itemcode。數據集和預期Tablix的詳細示例可能很有用。 –

回答

2

如果您正在使用的tablix的主數據集是BARNEY,那麼這是基本查找表達式,您應該首先從RUBBLE數據集中獲取數據。

=Lookup(Fields!ItemCode.Value, Fields!ItemCode.Value, Fields!Price.Value, "RUBBLE") 

在這種情況下,當BARNEY和RUBBLE數據集之間的ItemCode值匹配時,將返回價格。

這是可以幫助您隱藏或顯示輔助數據集中的值的表達式。

=IIf(Lookup(Fields!ItemCode.Value, Fields!ItemCode.Value, Fields!Week.Value, "RUBBLE")="WK1", Lookup(Fields!ItemCode.Value, Fields!ItemCode.Value, Fields!Price.Value, "RUBBLE"), "") 

IIf的第一部分檢查RUBBLE數據集中的Week字段。如果值爲WK1,則顯示RUBBLE數據集中的價格;否則沒有。

如果您不必檢查RUBBLE數據中的星期值,並且只檢入BARNEY數據集,就可以工作。

=IIf((Fields!Week.Value="WK1"),Lookup(Fields!ItemCode.Value, Fields!ItemCode.Value, Fields!Price.Value, "RUBBLE"),"")