reporting-services - 如何为报表中动态创建的矩阵中的列添加标题?
问题描述
我有一个矩阵,它在运行时会创建 3 列,我无法根据客户的要求为这些动态创建的列添加标题,并且无法在线找到任何修复或示例。我希望将矩阵和文本框放入表格中可能会起作用,但会出现与下图相同的结果。这看似简单的事情是不可能的,还是我缺少一种解决方法?
解决方案
如果每个 NTLH2 值都有 3 个 MTLH1 值,那么你可以做这样的事情......(因为你没有提供样本数据,我从样本 WideWorldImporters 数据库中生成了一些数据)。我的查询给了我 5 列和类似于下面的结果。
CustomerCategoryName Qtr Mnth MnthName OrderValue
Computer Store 1 1 Jan 10
Computer Store 1 2 Feb 12
Computer Store 1 3 Mar 15
Computer Store 2 4 Apr 20
Corporate 1 1 Jan 11
....
基本上我们每个季度结束 3 个月
然后我在报告中添加了一个矩阵控件,将其拖到CustomerCategoryName
行、Mnth
列、Qtr
上方Mnth
,使其成为父列,最后OrderValue
成为数据“单元格”。
我实际上将列标题中的 Mnth 字段换成 MnthName 以使其更易于阅读,但列顺序仍按 Mnth(数字版本)排序。然后我将列标题居中以提高可读性。
最终的设计看起来像这样
如果我们运行报告,结果如下所示。
如您所见,我们有 4 个组,每个季度一个,每个组有 3 列。
如果要自定义季度名称,可以根据需要通过更改单元格中的表达式来实现。例如,如果我们希望所有季度都有“Q”在数字之前,除了我们想要一个特定字符串的第二季度,那么你可以使用类似的东西。
=IIF(
Fields!Qtr.Value = 2,
"Second Quarter",
"Q" + Cstr(Fields!Qtr.Value)
)
最终输出现在看起来像这样......
或者,您可以在 t-sql 中生成所有列标题,以便在我有 MnthName 的地方创建 Quartername 或类似名称。
希望这是有用的。如果没有,请发布示例数据和该示例数据的预期结果,我将修改答案。
推荐阅读
- node.js - 在 Heroku 服务器中部署 Node/Angular 应用程序时出错
- pycharm - 使用 Pycharm 对栅格值进行多边形化
- python - 来自dict_keys的jinja2打印密钥
- angular - 如何使用 AWS Transcribe javascript sdk
- excel - 如果整行使用 VBA 匹配,则删除重复的行
- jquery - 如何将复选框的状态作为变量获取到 ajax 对象中
- javascript - 为什么我的反应网络应用程序返回一个白色/空白页面?
- python-3.x - 其他语言的 pyenchant
- flutter - 颤动中的复选框的SetState
- python - 用于 VGG19 大规模预测的 GPU 多处理