在 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))))

第二个选项是将文本框属性设置为将零显示为空白,如下图所示: