2011-06-29 100 views
2

我有一個SSRS報告。其中我有一個表有一些行。我想根據這些行計算一些事情。見來計算示例表和東西:使用if(DayEmployed>730) then add 1 to count.countEmployment Periods greater than 2 Years計數計算SSRS計算

enter image description here

就業期。任何人都可以告訴我如何在SSRS中計算這個值?

任何幫助,將不勝感激。

回答

4

總結:

  • 就業期限爲365天,或1年。
  • 你想後,他們已經主頻高達2年

假設就業期間計數開始遞增:

  • 如果員工工作730天,就業週期仍然是0
  • 如果員工工作了731天,則僱傭期限爲1
  • 就業期間保持爲1,直到員工計時1096天,此時poi NT就業週期變爲2

大概是最容易做的事情是這樣的:

= IIf(DaysEmployed > 730, CEILING(DaysEmployed/365) - 1, 0) 

我做了這樣一個快速測試在Excel和原諒任何語法錯誤*在我的發言就做什麼你要。


編輯:

好吧,你需要的是一個有條件的合計:

=Sum(IIF(DaysEmployed > 730, 1, 0), "DSEmploymentSummary") 

這將做在DaysEmployed領域的總和的對象調用DSEmploymentSummary範圍(這是你的數據綁定到表/ tablix)。

或者,你可以有一個隱藏的計算列其中只包含了視DaysEmployed是超過閾值的各行的10,然後在該列做一個正常的SUM

*我的報告是生鏽的,我不想提出一個新的虛擬報告來測試它。

+0

我想你讓我錯了。基本上我想要的是:有一個表中有多個客戶端。我必須檢查每行,如果'Days Employed> 730',我想顯示具有'Days Employed> 730'的那些行的計數。 – asma

+0

@asma,檢查我的編輯。 – slugster

0

我用這個公式用於此目的:

=FormatNumber((iif(Fields!DaysEmployed.Value > 730, Count(Fields!DaysEmployed.Value, "DSEmploymentSummary"), 0))/CountRows("DSEmploymentSummary"),2,0,-1,-1) 
+0

哎。這是否嚴重返回正確的數字,你永遠不會得到一個除零誤差? – slugster

+0

其實我所要做的是,當有0行數時,隱藏報告上的所有控件。現在我測試了0行,一切都很完美。我也在想,相同的情況是必須有零差錯。但沒有發生。控件成功隱藏。 – asma

+0

好的告訴我,使用我的解決方案會不會有問題?我應該使用urs嗎? – asma