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

问题描述 投票:0回答:2

我正努力应对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行组,将分钟归为列组。我希望将结果排序如下表所示。如何在SSRS中实现这一目标?

---------------------------------------------------
|   5           |52 | 54 | 56 |    |    |    |    |
|   6           |20 | 22 | 27 | 29 | 46 | 51 | 58 |
|--------------------------------------------------
reporting-services ssrs-grouping columnsorting
2个回答
0
投票

我可以为您的要求拿出2个略有不同的表示形式。如果这对您有用,请告诉我我将更新如何实现的答案。下面的屏幕快照以获取帮助。左边有原始数据,另两个代表结果

enter image description here


0
投票

如果在每条记录中添加行号,则可以轻松完成此操作。

使您的数据集查询类似

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。

这将完全给您您想要的。

这是从内存中完成的,因此,如果它不起作用,请添加注释,我会在有时间的时候编辑答案。

© www.soinside.com 2019 - 2024. All rights reserved.