SSRS:如何将我的类别分组到不同的行?

时间:2019-01-20 04:02:21

标签: reporting-services

我正在创建需要按名称分组的SSRS报告。

我需要按名称对表进行分组,所以我有一个像这样的表:

MachineName |内存%| CPU%|

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进行开发,并将其余的阶段环境。

| |内存%| CPU%|


生产

机器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

     )
)

但这不起作用。

2 个答案:

答案 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