排除 SSRS 列中的空值
exclude nulls in column SSRS
SSRS 新手
我有 table 第 1 列是部门,第 2 列是计算
例如成本总和...
我已经使用下面的表达式来计算成本
但我想排除为空的部门,但这并不令人高兴..
=Sum(IIF(Fields!ReturnOrder.Value = "1" + IsNothing(Fields!Department.Value) = 1, Fields!Cost.Value, 0))
第 1 列仍显示空部门。我不想展示这个...
我只想让第 1 列显示部门名称,不显示空行..和第 2 列成本总和,其中 return 值 = 1
请帮忙
最好的方法是更改您的查询:
SELECT *
FROM [YourTable]
WHERE [Department] IS NOT NULL;
您还可以 select 详细信息行,单击“属性”选项卡,然后在 "Hidden" 属性
中输入公式
=IIF(IsNothing(Fields!Department.value), True, False)
这表示,"if department is null, hide this row, otherwise show it"。第一种方法更好,因为返回到报表的数据较少。第二种方法要求返回所有行,报表必须对要显示的行进行排序。
Select 详细信息行(单击三行),select 属性选项卡,并将 "False" 替换为该公式:
为了让您的表达式按照您的方式工作,您需要将加号更改为 AND 以进行逻辑运算,并将 ISNOTHING 保留为布尔值(不带 = 1):
=Sum(IIF(Fields!ReturnOrder.Value = "1" AND NOT(IsNothing(Fields!Department.Value)), Fields!Cost.Value, 0))
我不确定 ReturnOrder 是做什么用的,但把你的条件留在里面了。
您要查找的表达式是
=Sum(IIF(Fields!ReturnOrder.Value = "1" AND IsNothing(Fields!Department.Value) = False, Fields!Cost.Value, 0))
提示:如果您的值是十进制而不是 0,请使用 Cdec(0) 来避免错误。
为避免显示空部门,我建议过滤您的 SQL 查询。
您也可以通过过滤 tablix
Expression: IsNothing(Fields!Department.Value)
Type: Boolean
Operator: Equal =
Value: False
这样做会隐藏 Null 部门,您的表达式可以简化为
=Sum(IIF(Fields!ReturnOrder.Value = "1", Fields!cost.Value, 0))
SSRS 新手
我有 table 第 1 列是部门,第 2 列是计算
例如成本总和...
我已经使用下面的表达式来计算成本
但我想排除为空的部门,但这并不令人高兴..
=Sum(IIF(Fields!ReturnOrder.Value = "1" + IsNothing(Fields!Department.Value) = 1, Fields!Cost.Value, 0))
第 1 列仍显示空部门。我不想展示这个...
我只想让第 1 列显示部门名称,不显示空行..和第 2 列成本总和,其中 return 值 = 1
请帮忙
最好的方法是更改您的查询:
SELECT *
FROM [YourTable]
WHERE [Department] IS NOT NULL;
您还可以 select 详细信息行,单击“属性”选项卡,然后在 "Hidden" 属性
中输入公式=IIF(IsNothing(Fields!Department.value), True, False)
这表示,"if department is null, hide this row, otherwise show it"。第一种方法更好,因为返回到报表的数据较少。第二种方法要求返回所有行,报表必须对要显示的行进行排序。
Select 详细信息行(单击三行),select 属性选项卡,并将 "False" 替换为该公式:
为了让您的表达式按照您的方式工作,您需要将加号更改为 AND 以进行逻辑运算,并将 ISNOTHING 保留为布尔值(不带 = 1):
=Sum(IIF(Fields!ReturnOrder.Value = "1" AND NOT(IsNothing(Fields!Department.Value)), Fields!Cost.Value, 0))
我不确定 ReturnOrder 是做什么用的,但把你的条件留在里面了。
您要查找的表达式是
=Sum(IIF(Fields!ReturnOrder.Value = "1" AND IsNothing(Fields!Department.Value) = False, Fields!Cost.Value, 0))
提示:如果您的值是十进制而不是 0,请使用 Cdec(0) 来避免错误。
为避免显示空部门,我建议过滤您的 SQL 查询。
您也可以通过过滤 tablix
Expression: IsNothing(Fields!Department.Value)
Type: Boolean
Operator: Equal =
Value: False
这样做会隐藏 Null 部门,您的表达式可以简化为
=Sum(IIF(Fields!ReturnOrder.Value = "1", Fields!cost.Value, 0))