2016-07-12 41 views
1

我已經得到了以下數據集:SSRS操作查找

enter image description here

我需要在SSRS顯示兩行:相當於銷售IsControl之前= 0和一另一個對應於IsControl = 1。 但是,對於具有控制= 1的行,必須爲其Num_Of_Customers劃分銷售額,並將其與IsControl = 0的同一week_of_day的Num_of_Customers相乘。

In換句話說,我將IsControl = 1的銷售擴展到IsControl =以某種方式,我可以在線圖上顯示兩條線。

什麼是SSRS表達式來做到這一點?

在這種情況下,Sales和Num_Of_Customers對於IsControl = 0和IsControl = 1是等效的,但它們通常是不同的。

回答

1

如果我理解正確的問題,下面的表達式應該做你需要的。

=IIf(Fields!IsControl.Value = 1, 
    Fields!Sales.Value/Lookup(Fields!week_of_day.Value.ToString() & "0", 
     Fields!week_of_day.Value.ToString() & Fields!IsControl.Value.ToString(), 
     Fields!Num_Of_Customers.Value, 
     "DataSet1"), 
    Fields!Sales.Value*Fields!Num_Of_Customers.Value) 

如果IsControl是1,查找客戶的數量,其中IsControl是0爲相同的日期,以及該數除以Sales。否則,將Sales乘以同一行中的客戶數量。

如果你只需要其中IsControl爲0的行銷售,使用此:

=IIf(Fields!IsControl.Value = 1, 
    Fields!Sales.Value/Lookup(Fields!week_of_day.Value.ToString() & "0", 
     Fields!week_of_day.Value.ToString() & Fields!IsControl.Value.ToString(), 
     Fields!Num_Of_Customers.Value, 
     "DataSet1"), 
    Fields!Sales.Value) 

無論您需要什麼,在Lookup將讓你到該行地方IsControl爲0拉你需要的價值,做什麼數學是必要的。

祝你好運!