2013年9月4日 星期三

[SQL Server 2008R2][SSRS] 彙總函數 RunningValue

RunningValue 函數可以用來處理累積計算的功能,包含累加、移動平均等,其語法如下:

RunningValue( 運算式 , 彙總函數 , Scope )

其中 Scope 指的是欲進行彙總的資料範圍:

  • 若輸入「Nothing」則代表整個資料集,前後不用加雙引號
  • 若報表僅有一個資料集時,可將「Nothing」省略。
  • 若報表有一個以上的資料集時,則必須明確定義 Scope ,填入資料集名稱時,必須於前加後加上雙引號
  • Scope 可以指定資料集名稱、群組名稱或是資料區域名稱
來一個簡單的範例,先建立一張報表,有產品大類、銷售數量、銷售金額,銷售數量右方新增一行累計數量。在累計數量的資料格上按滑鼠右鍵,選擇「運算式」,輸入以下語法

=RunningValue(Fields!SALES_QTY.Value,Sum,Nothing)



切換至預覽模式即可看到累計數量會隨銷售數量累加其值。
若要計算移動平均數只要改變 RunningValue 中第二個參數「彙總函數」即可

RunningValue(Fields!SALES_QTY.Value,Avg,Nothing)

沒有留言: