我有一个报告,其中最高级别的详细信息产生了数据集的2行,我需要将其分组显示。分组工作正常,但少数列仍然包含不同的值;如何告诉报表应该显示哪个值?
示例:用户希望按品牌名称对报告的每一行进行分组。1品牌可以有多个与报告中显示的数字相关的协议。数字可以汇总,但也有数据随着新协议而发生了变化,因此只需要显示最新版本的
协议1:A项、B项、价值A协议2:B项、C项、价值B
按品牌分组应显示:协议:B项,C项,合计(价值A+B(。但我不知道如何告诉报告显示哪些项目。
数据集的SQL不应该为了在报告中保留显示两行的选项而进行修改。
任何帮助都将不胜感激:(
谢谢
如果它是一个字符串,则可以只使用聚合First()
和Last()
。
但有一个变通办法。你必须在数据集中定义一个计算字段,并将你想要的表达式写入其中。把它想象成一个评级系统。最大的值是您将在分组中选择的值,因为在分组中您只需要使用Max()
即可。
例如,作为计算字段(这是字符串的示例,您也可以转换为双精度并使用>或<,这取决于您对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
之后自定义分组。