2016-07-05 129 views
1

我正在使用Microsoft SQL Server 2008 R2 Report Builder 3.0。我已經花了8個小時在這個目前爲止,而且仍然在方形1處。 我的目標是製作一個圖表,顯示每個時間段的平均「延遲時間」(以天爲單位)。 我的問題是,當我有一個相同的文件被引用2種不同的服務時,我的圖仍然編譯平均值,而不區分這些情況。篩選器雙重值Report Builder 3.0 ssrs

例如: 患者A被交給服務1,延遲時間爲10天,服務2爲延遲4天。

現在:圖形確實(延遲N + 10 + 4)/ n的

我需要:(延遲N + 4)/ N,即2個延遲的最長延遲被忽略。

我試過使用數據集上的過濾器,改變系列組本身的表達式等。迄今爲止不成功。我能做的最多的事情就是讓圖表忽略所有有2次延遲的情況,這絕對不是好事。

另外,我想在下面以這種方式使用Min函數,但它給了我最初的結果(所有延遲都考慮在內)。所以,再次不好。

=Avg(IIF(CountDistinct(Fields!No_dossier_local.Value)>Count(Fields!No_dossier_local.Value), Min(Fields!Delay.Value), Fields!Delay.Value)) 

請幫忙, 謝謝!

回答

0

嘗試使用以下方法,首先檢查延遲的計數是否等於1,然後輸入該值,否則輸入最小延遲值。

= AVG(IIF(計數(場!Delay.Value)= 1,場!Delay.Value,閔(領域!Delay.Value)))

+0

彼得嗨!感謝提示,我只是嘗試了一下,但不幸的是,最終做的是在整個時間段內選擇最小值,即我有一個圖表,其中x是時間(年和週期),y是延遲在幾天內。因此,當我嘗試使用您的代碼或通過說[Fields!No_dossier_local.Value]來替換[Fields!Delay.Value]時,無論該時間範圍內的其他患者延遲如何,都會帶來最短的患者延遲。但是,非常感謝您的幫助,但我會繼續朝這個方向進行挖掘。 –

+0

只需添加一些細節(如果它出現有用)。原始數據集具有以下維度:年份,期間(一年中的13個期間),診所位置(2個位置),患者人數和服務類型(生理,人格等)。我期望的最終結果是延遲。我有一個可以包含的度量,也稱爲參考數量。所以說,如果我刪除了我的數據集中的[服務類型]維度,那麼給定患者的參考數可能會高於1.但是,如果我將[服務類型]留在了我的數據集中,那麼數字保持1. –

+0

其實,有沒有一種方法使用Cstr或其他方式使其明白,如果患者編號相同,請儘量少用?所以,有點像你的建議,而不是Count()?我試過= avg(IIF(Fields!No_dossier_local.Value = Fields!No_dossier_local.Value,Fields!Delay.Value,Min(Fields!Delay.Value))),但它給了我和表達式相同的結果。 ?<(-.-「<) –