我有一个矩阵,该矩阵在运行时会创建3列,并且我无法按照客户端的要求向那些动态创建的列添加标题,并且无法在线找到任何修复程序或示例。我希望将矩阵和文本框放入表中可能会起作用,但是发生与以下图像相同的结果。 这看似简单的事情是不可能的,还是我没有找到解决方法?
答案 0 :(得分:0)
如果每个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或类似名称。
希望这是有用的。如果没有,请发布示例数据和该示例数据的预期结果,然后我将修改答案。