将SSRS列组的Null结果放在最后

Put Null results of SSRS column group to the last

我正在努力应对 SSRS 中的挑战,非常感谢您的帮助。 我在两个单独的列中有一个小时和分钟的数据集,如下所示。

---------------------------------
|A_Service_Hours| Service_Minute|
|   5           |   52          |
|   5           |   54          |
|   5           |   56          |
|   6           |   20          |
|   6           |   22          |
|   6           |   27          |
|   6           |   29          |
|   6           |   46          |
|   6           |   51          |
|   6           |   58          |
|-------------------------------|

我想在 SSRS 行组中对所有小时进行分组,在列组中对分钟进行分组。我希望结果像下面 table 一样排序。我怎样才能在 SSRS 中实现这一点?

---------------------------------------------------
|   5           |52 | 54 | 56 |    |    |    |    |
|   6           |20 | 22 | 27 | 29 | 46 | 51 | 58 |
|--------------------------------------------------

我可以想出 2 个略有不同的表示方式来表示您的请求。如果这对您有用,请告诉我,我将更新我的答案以说明如何实现它。 在屏幕截图下方寻求帮助。左边是原始数据,另外两个是表示结果

如果您为每条记录添加一个行号,您可以轻松做到这一点。

使您的数据集查询类似于

SELECT 
    A_Service_Hours, Service_Minute
    , ROW_NUMBER() OVER(PARTITION BY A_Service_Hours ORDER BY Service_Minute) AS RowN
FROM myTable

这将为您提供以下结果

----------------------------------------
|A_Service_Hours| Service_Minute|  RowN|
|   5           |   52          |     1|
|   5           |   54          |     2|
|   5           |   56          |     3|
|   6           |   20          |     1|
|   6           |   22          |     2|
|   6           |   27          |     3|
|   6           |   29          |     4|
|   6           |   46          |     5|
|   6           |   51          |     6|
|   6           |   58          |     7|
|--------------------------------------|

您现在可以将矩阵控件添加到报表中,使用 A_Service_Hours 作为 RowGroup,使用 RowN 作为 ColumnGroup。

这将为您提供您想要的。

这是凭记忆完成的,所以如果它不起作用,请添加评论,我会在有空时编辑答案。