我无法使我的表达式在我的SSRS矩阵中不计入NULL值。
在我的SSRS矩阵中,我有2列用于评估公司,在SubmittedDate列下有一个计数。在我的报告中,这是怎么回事:
这里,Per Derrick的建议是我在SubmitGroupDate的ColumnGroup属性中所做的更改:
这是我在ColumnGroup属性中的表达式更改:
不幸的是我遇到了这个错误:
答案 0 :(得分:1)
我对您的数据集表示怀疑,但我不确定您如何获取一个空值以在COUNT
中返回1。我一直无法复制您的结果。
数据集查询
SELECT 'Drive In' AS AppraisalCompany, NULL AS SubmittedDate
UNION
SELECT 'Photo App - English', 'Dec-18'
接下来,我在AppraisalCompany
上创建了一个行组,并在SubmittedDate
上创建了一个列组。
我filtered使用表达式=IsNothing(Fields!SubmittedDate.Value)
,运算符<>
和值true
来删除空分组。
在矩阵的文本框中,我使用了[Count(SubmittedDate)]
。
输出
Appraisal Company | Dec-18
-------------------------------
Drive In | 0
Photo App - English | 1
答案 1 :(得分:0)
通过Decimal
(数字)数据类型Nothing
和0
是相同的。您可以对此进行测试。
将Tablix的年份从2017年到2019年放入报表中。然后将年份以数字格式放在tablix的列中,然后在详细信息文本框中输入以下表达式:
=CDec(IIF(CDec(Fields!Year.Value) = 2017, 0, Nothing))
执行报告后,您会注意到Year列中的每个值都是0
。
检查也一样。这两个表达式将始终返回Yes
。我基本上检查0
,第二个检查Nothing
:
=IIF(CDec(IIF(CDec(Fields!Jahr.Value) = 2017, 0, Nothing)) = 0, "Yes", "No")
=IIF(CDec(IIF(CDec(Fields!Jahr.Value) = 2017, 0, Nothing)) = Nothing, "Yes", "No")
但是请记住,您的文本框/列必须是数字格式。
因此,如果您要返回Nothing
,并在数字格式的文本框中显示它,则会显示一个0
。
考虑到这一点,对于Count()
AND 1
,0
返回值Nothing
是有意义的。因此,基本上,这可以解决问题:
'Cont
=Sum(IIF(Fields!YourValue.Value = Nothing, 0, 1))