[英]SSRS : New calculated field based on where condition
我是SSRS報告的新手,需要幫助...
我有一個包含“過程”,“級別”和“工作周”字段的數據集
Process Level WW ------- ----- -- Test Lvl_0 3 Test Lvl_1 28 Test Lvl_2 48 Samp Lvl_0 10 Samp Lvl_1 39 Samp Lvl_2 51
我現在想要的是創建兩個另外的計算字段,分別稱為Start_WW和Pro_Start ,它們具有WW字段中的值。
Lvl_0的WW被視為Process_Start。
邏輯就像
Process Level WW Start_WW Pro_Start ------- ----- -- -------- --------- Test Lvl_0 3 0 3 Test Lvl_1 28 3 3 Test Lvl_2 48 28 3 Samp Lvl_0 10 0 10 Samp Lvl_1 39 10 10 Samp Lvl_2 51 39 10
我知道它類似於SQL
更新表SET Start_WW =(從表中選擇WW,其中Level ='Lvl_0')其中Level ='Lvl_1'
更新表SET Proc_Start =(從表中選擇WW,其中Level ='Lvl_0')
我不確定如何為其編寫表達式。 請幫助我。
提前致謝!!
如果Start_WW
只是先前的WW
那么您甚至不需要計算字段; 您可以只在表單元格的表達式中使用Previous()
函數:
=IIF(Fields!Process.Value = Previous(Fields!Process.Value), Previous(Fields!WW.Value), 0)
對於Pro_Start
,可以將其添加到SQL中:
SELECT MyTable.Process, MyTable.Level, MyTable.WW, Start.Pro_Start
FROM MyTable
INNER JOIN (
SELECT Process, Level, MIN(WW) AS Pro_Start
FROM MyTable
GROUP BY Process, Level
) Start ON MyTable.Process = Start.Process AND MyTable.Level = Start.Level
如果無法訪問查詢,則可以通過Lookup()獲取Pro_Start
:
=Lookup(Fields!Process.Value, Fields!Process.Value, Fields!WW.Value, "MyDataset")
Lookup()
將返回Process
的第一個實例,並為您提供該行的WW
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.