【问题标题】:SSRS Report - Horizontally Sort Columns Across Column GroupsSSRS 报告 - 跨列组对列进行水平排序
【发布时间】:2019-03-15 23:34:49
【问题描述】:

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

我在实现这一点方面取得了很大的成功,但我一直在控制如何更改列的顺序。

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

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

我做的第一件事是在我的数据集中取消透视我的数据(我使用交叉应用来执行此操作)。该列的名称保存在名为“Col_1”的列中,值保存在名为“Val_1”的列中。诀窍是,我必须多次执行此操作,对我正在处理的每种数据类型执行一次。因为显然你不能在同一列中有日期和 nvarchars。当我取消透视上面的数据时,它看起来像这样:

公司ID | Col_1 | Val_1 | Col_2 | Val_2 |
1 |地址|大街123号|创建日期 | 2019 年 3 月 14 日 |
1 |Website_URL |www.fake.com |修改日期 | 2019 年 3 月 15 日 |
2 |地址 |555 Park Ave |创建日期 |2019 年 3 月 12 日 |
2 |Website_URL |www.notreal.com |修改日期 |3/13/2019 |

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

现在,当此报告运行时,每个列组(例如 Col_1)都会展开以显示我在未透视数据中该列下的所有列名。这可能是几十列。这张图片显示了我的最终数据的样子。这类似于我的原始数据。但得益于动态显示列这一事实。

My resulting Matrix

所以,我遇到的唯一问题是列被卡在他们的组中。假设我想按字母顺序对它们进行排序,我只能将 nvarchars 和日期一起排序。我无法他们的组进行排序。有什么办法可以做到吗?

The resulting Matrix I want, with columns sorted alphabetically

提前感谢您的任何想法。

【问题讨论】:

    标签: reporting-services


    【解决方案1】:

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

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

    【讨论】:

    • 非常感谢您的回复。我可能不明白。您是说我需要在 tablix 中为我想要的每一列手动创建一个列组吗?或者有没有办法动态地做到这一点?整个设计怪异的原因是,在我的实际报告中,不仅仅是 4 列。它在 2 列和 100 多个列之间变化,根据数据集中的逻辑从 250 多个可能的列中进行选择。这是我所知道的创建具有可变列数的 tablix 的唯一方法。
    猜你喜欢
    • 2021-07-30
    • 2021-04-26
    • 2017-03-19
    • 1970-01-01
    • 1970-01-01
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多