我有一个报告,其中最高级别的详细信息会生成数据集的两行,我需要对它们进行分组显示。分组工作正常,但少数列仍包含不同的值;如何告诉报告应显示哪个值?
示例: 用户希望按品牌名称对报告的每一行进行分组。 1品牌可以具有与要在报告中显示的数字相关的多个协议。可以汇总数字,但是新协议还更改了数据,因此只需要显示最新版本即可。
协议1:项目A,项目B,价值A 协议2:项目B,项目C,价值B
按品牌分组应显示: 约定:项目B,项目C,总和(值A + B)。但是我不知道如何告诉报告要显示哪些项目。
不应修改数据集的SQL,以维护报表中的选项以同时显示两行。
任何帮助将不胜感激:)
谢谢
答案 0 :(得分:0)
如果它是字符串,则可以适当地使用聚合First()
和Last()
。
但是有一种解决方法。您必须在数据集中定义一个计算字段,然后将所需的表达式写入其中。可以将其视为评级系统。最大的价值是您将在分组中选择的值,因为在分组中,您只需要使用Max()
。
例如作为计算字段(这是字符串的示例,您还可以将其转换为double并使用>或<,这取决于您对ItemA值的变化):
'Calculated field name: CustomField
=Switch(Fields!ItemA.Value = Nothing, 1,
Fields!ItemA.Value = "500", 2,
Fields!ItemA.Value = "1000", 3)
现在添加您的分组,并在分组中选择计算字段,如下所示:
Max(Fields!CustomField.Value)
然后隐藏Fields!CustomField.Value
并显示Fields!ItemA.Value
。这样,它将显示Fields!ItemA.Value
的行值,并且您可以自定义在Fields!CustomField.Value
之后的分组。