SSRS报告-跨列组对列进行水平排序

时间:2019-03-15 23:34:49

标签: reporting-services

我正在创建一个异常的SSRS报告,该报告要求用户能够使用参数来选择(超过250个)字段中的哪个出现在报告中。因此,此报告中的列数可能会有很大差异。

我在实现这一目标上最成功,但是一直坚持控制如何更改列的顺序。

这是我的原始数据(一个简化的示例): My data as a screen capture

公司ID |地址网站_URL |创建日期|修改日期|
1 | 123 Main Street | www.fake.com | 3/14/2019 | 3/15/2019 |
2 |公园大道555号| www.notreal.com | 2019年3月12日| 3/13/2019 |

我要做的第一件事是取消数据集中的数据(我使用cross apply来做到这一点)。该列以前的名称保留在名为“ Col_1”的列中,该值保留在名为“ Val_1”的列中。诀窍是,我必须多次执行此操作,对于我要处理的每种数据类型一次。因为显然您不能在同一列中包含日期和nvarchars。当我取消上面的数据时,它看起来像这样:

公司ID | Col_1 | Val_1 | Col_2 | Val_2 |
1 |地址|大街123号|创建日期| 3/14/2019 |
1 |网站URL | www.fake.com |修改日期| 3/15/2019 |
2 |地址|公园大道555号|创建日期| 2019/3/12 |
2 |网站网址| www.notreal.com |修改日期| 2019/3/13 |

现在要做的是,我可以创建一个矩阵,其中是CompanyID为行组的SSRS报告。然后,我为Col_1和Col_2创建两个相邻的列组,它们的值分别为Val_1和Val_2。 Click here to see SSRS Groupings

现在,运行此报告时,每个列组(例如Col_1)将展开,以显示我在未透视数据中该列下的所有列名称。这可能是数十列。这张图片显示了我最终的数据。这类似于我的原始数据。但是,由于这些列是动态显示的,所以很方便。

My resulting Matrix

所以,我唯一的问题是列卡在内部中。假设我想按字母顺序对它们进行排序,那么我只能将nvarchar和日期进行排序。我无法对 cross 他们的小组进行排序。有办法吗?

The resulting Matrix I want, with columns sorted alphabetically

提前感谢任何想法。

1 个答案:

答案 0 :(得分:0)

使用原始的原始数据,报表的设计需要有4个列组。

1。地址 2.创建日期 3.日期修改 4.网站网址