2014-12-04 76 views
1

使用SSRS 2008R2SSRS - 最小,最大和平均百分比值的每一行的矩陣

我具有矩陣設置在每個單元中顯示%值:

  ColGrp1 ColGrp2 ColGrp3 

RowGrp1  5%  80%  50% 

RowGrp2  ..  ..  .. 

RowGrp3  ..  ..  .. 

表達導出百分比值如下:

=Sum(Fields!FieldX.Value) 
/
Count(Fields!FieldX.Value) 

現場X包含0或者在數據集1,所以我看到的1,在上述數據中的比例 - 這是好的。

我的問題是,我需要包括最小,最大和每個行組平均值:

Col1 Col2 Col3 Min Max Avg 

5% 80% 50% .. .. .. 

.. .. .. .. .. .. 

.. .. .. .. .. .. 

正如我剛纔創建了一列列組之外,所使用的平均價值是罰款與上面相同的表達。

但是,我無法找到獲取Min和Max%值的方法。

任何想法?

+0

謝謝你的答案傢伙。在我的文章中可能並不清楚,但Col1/2/3是基於矩陣列分組的,因此可以有任何數量的這些... – qwerty12 2014-12-04 10:54:22

+0

我懷疑在這種情況下沒有通用解決方案。任何將分組移至SQL部分並讓SSRS執行顯示位的機會? – 2014-12-04 11:17:41

回答

0

試試這個:

SELECT 
    *, 
    (select MIN(col) from (VALUES(Col1),(Col2),(Col3),......) x([col])) [MIN], 
    (select MAX(col) from (VALUES(Col1),(Col2),(Col3),......) x([col])) [MAX] 
FROM 
    (
    -- your query -- 
    ) AS T 

參考:Get the minimum value between several columns

0
SELECT Col1, Col2, Col3, CASE WHEN Col1 < Col2 AND Col1 < Col3 
           THEN Col1 
           WHEN Col2 < Col1 AND Col2 < Col3 THEN Col2 
           ELSE Col3 
           END AS Min, 
          CASE WHEN Col1 > Col2 AND Col1 > Col3 
           THEN Col1 
           WHEN Col2 > Col1 AND Col2 > Col3 THEN Col2 
           ELSE Col3 
           END AS Max, 
     ((Col1 + col2 + col3)/3) AS Avg 
FROM table  
相關問題