在 SSRS 的 CountDistinct 中防止“0”
Prevent "0" in CountDistinct in SSRS
我有以下表达式:
=CountDistinct(IIf((Fields!txtGrade.Value = "*")
And (Fields!txtCurrentSubjectName.Value = "3D Design"),
Fields!intGradeTransposeValue.Value, Nothing))
总共有 5 个不同的 txtGrade.Value
- *, 1, 2, 3, 4
并非每个科目都有分数。在没有值的列中,表达式返回一个 0
- 无论如何我可以让它显示一个空白单元格,其中根本没有数字。这是它当前输出的内容:
您可以在此处使用几个选项。首先,您可以简单地将整个表达式包装在 IIF
中,用空替换零。
=IIF(CountDistinct(IIf((Fields!txtGrade.Value = "*")
And (Fields!txtCurrentSubjectName.Value = "3D Design"),
Fields!intGradeTransposeValue.Value, Nothing)) = 0, "",
(CountDistinct(IIf((Fields!txtGrade.Value = "*")
And (Fields!txtCurrentSubjectName.Value = "3D Design"),
Fields!intGradeTransposeValue.Value, Nothing))))
第二个选项是将文本框属性设置为将零显示为空白,如下图所示:
我有以下表达式:
=CountDistinct(IIf((Fields!txtGrade.Value = "*")
And (Fields!txtCurrentSubjectName.Value = "3D Design"),
Fields!intGradeTransposeValue.Value, Nothing))
总共有 5 个不同的 txtGrade.Value
- *, 1, 2, 3, 4
并非每个科目都有分数。在没有值的列中,表达式返回一个 0
- 无论如何我可以让它显示一个空白单元格,其中根本没有数字。这是它当前输出的内容:
您可以在此处使用几个选项。首先,您可以简单地将整个表达式包装在 IIF
中,用空替换零。
=IIF(CountDistinct(IIf((Fields!txtGrade.Value = "*")
And (Fields!txtCurrentSubjectName.Value = "3D Design"),
Fields!intGradeTransposeValue.Value, Nothing)) = 0, "",
(CountDistinct(IIf((Fields!txtGrade.Value = "*")
And (Fields!txtCurrentSubjectName.Value = "3D Design"),
Fields!intGradeTransposeValue.Value, Nothing))))
第二个选项是将文本框属性设置为将零显示为空白,如下图所示: