我正在创建需要按名称分组的SSRS报告。
我需要按名称对表进行分组,所以我有一个像这样的表:
Machine1 | 10 | 20 |
Machine2 | 23 | 23 |
Machine3 | 30 | 31 |
机器4 | 10 | 20 |
机器5 | 23 | 23 |
机器6 | 30 | 31 |
机器7 | 10 | 20 |
机器8 | 23 | 23 |
机器9 | 30 | 31 |
我需要将Machine1,Machine2,Machine 4,Machine 5归类为“ Production”,将Machine3,Machine 6进行开发,并将其余的阶段环境。
机器1 | 10 | 20 |
Machine2 | 23 | 23 |
机器4 | 10 | 20 |
机器5 | 23 | 23 |
Machine3 | 30 | 31
机器6 | 30 | 31
机器7 | 10 | 20 |
机器8 | 23 | 23 |
机器9 | 30 | 31 |
如何在SSRS报告中执行此操作?
我正在为每个类别下的每一行考虑这样的嵌套iif语句。例如,对于生产类别,我将有如下查询:
IIF(Fields!MachineName.Value="Machine1",
"Machine1",
IIF(Fields!MachineName.Value="Machine2",
"Machine2",
IIF(Fields!MachineName.Value="Machine4",
"Machine4",
IIF(Fields!MachineName.Value="Machine5",
"Machine5",0
)
)
但这不起作用。
答案 0 :(得分:0)
将此添加到您的sql select查询中,并使用定义的类别作为行组:
案例MachineName 当“ Machine1”然后“生产”时 当“ Machine2”然后“生产”时 当“ Machine4”然后“生产”时 当“ Machine5”然后“生产”时 当“ Machine3”然后是“开发”时 当“ Machine6”然后是“发展”时 否则“阶段环境” 结束为类别
答案 1 :(得分:0)
您可以按计算机名称排序并添加行号
然后您会得到类似的东西
机器1 1 机器2 2 机器3 3 机器4 4 机器5 5 机器6 6 机7 7 机8 8 机器9 9
最后,您在选择的内容中添加了一个案例
(当ROW_NUMBER()OVER(ORDER BY“ machine name”)时<5然后是'Production' 否则(ROW_NUMBER()OVER(ORDER BY“ machine name” ASC)> 5和ROW_NUMBER()OVER(ORDER BY“ machine name” ASC)<7),然后将'Development'否则'Stage'end)作为groupName