【问题标题】:SSRS expression issue using iif function使用 iif 函数的 SSRS 表达式问题
【发布时间】:2013-06-28 22:31:58
【问题描述】:
我有一个数据集,它返回两个属性,一个名称和一个总单位。我正在尝试在 iif(field!Name.Value = "Name", field!Total.Value, 0)
的数据栏上设置 iif 表达式
这不起作用我收到rsFieldReferanceAmbiguous 的错误,字段引用时未指定数据集聚合。它作为聚合给我的唯一选项是First,但我不想获得名字,我希望栏根据iif 表达式中的名称字段显示总单位。
【问题讨论】:
标签:
reporting-services
ssrs-2008
iif-function
【解决方案1】:
rsFieldReferenceAmbiguous 是指尝试匹配不在本地范围内的内容。因此,您必须汇总它。你可能想要这样的东西:
=Sum(IIF(Fields!Name.Value = "Name", Fields!Total.Value, 0))
【解决方案2】:
您尝试使用的函数将更适合数据集中的计算字段。然后,您可以在报告中引用该字段。这允许您逐行而不是按组过滤数据。
- 右键单击数据集并转到数据集属性。
- 转到字段。
- 单击添加,然后单击计算字段。
- 在此处输入字段名称,然后输入表达式。
【解决方案3】:
确保您的 tablix 具有在属性窗格上的 General -> DataSetName 下指定的数据集。如果您在报告中有多个数据集,则需要指定您喜欢的数据集:
(Fields!Name.Value, "NameDataSet")
如果您使用表格,您可能需要检查是否有分组,如果有,您如何对数据进行分组。