使用 SSRS 2008R2
我设置了一个矩阵,在每个单元格中显示 % 值:
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% .. .. ..
.. .. .. .. .. ..
.. .. .. .. .. ..
avg 值很好,因为我刚刚在列组之外创建了一个列并使用了与上面相同的表达式。
但是,我找不到获取最小值和最大值百分比值的方法。
有什么想法吗?
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
试试这个:
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
参考:获取几列之间的最小值