【问题标题】:SSRS Display 0 if count is NullSSRS 如果计数为 Null,则显示 0
【发布时间】:2017-04-27 01:56:05
【问题描述】:

我在 SSRS 中有一份报告,其中统计了每个月使用的项目,但由于当月没有使用任何项目,因此缺少某些月份。

=count(Fields!Drug.Value)

ie Jan=2, Mar=1, Apr=3, June=4

如果没有特定月份的数据,我希望显示月份分组并且计数显示为“0”。

ie Jan=2, Feb=0, Mar=1, Apr=3, May=0, June=4

如果尝试了 IsNothing 表达式,但它在没有数据的几个月内仍然不显示“0”。

=IIF(IsNothing(count(Fields!Drug.Value)),0, count(Fields!Drug.Value))

'选择不同的 当月份(BagDoseStartDateTime)在 7 到 12 之间时,然后将转换(右(年(BagDoseStartDateTime),2)作为 varchar(10))+ '/' + 转换(右(年(BagDoseStartDateTime)+ 1,2)作为 varchar(10) )) else cast(right(year(BagDoseStartDateTime) - 1,2) as varchar(10)) + '/' + cast(right(year(BagDoseStartDateTime),2) as varchar(10)) end as FinancialYear ,year(BagDoseStartDateTime) 作为 YearAdministered ,month(BagDoseStartDateTime) 作为 MonthAdministered ,D.[药物] ,D.[BagDoseStartDateTime]

来自 CAB_Reporting.dbo.CAB_V_Doses_Bags D --内联CAB_Reporting.dbo.CAB_V_Dose_Actions DA on DA.PatientID = D.PatientID

其中 ((year(BagDoseStartDateTime) = 2016 和月份(bagDoseStartDateTime) >6) 或 (year(BagDoseStartDateTime) = 2017)) 和((D.Drug Like 'Red Blood Cells (1 Unit)' and D.Status Like 'Administered') 或(D.Drug Like 'Fresh Frozen Plasma (FFP 1 Unit)' and D.Status Like 'Administered') 或(D.Drug Like 'Cryoprecipitate (Multiple Units)' and D.Status Like 'Administered') 或(D.Drug Like 'Platelets (1 Unit)' and D.Status Like 'Administered')) 按年(BagDoseStartDateTime)、月(BagDoseStartDateTime)'排序

【问题讨论】:

  • 您是返回 2 月和 5 月的空值还是根本没有记录?可能,最简单的方法是在数据集中完成这项工作,但看不到您的数据集查询和输出看起来很难说。你能发布数据集查询和示例输出吗?
  • 数据集没有 2 月或 5 月的结果。
  • FY Year Month ProductType ChartTime 16/17 2017 1 Red Blood Cells 2/01/2017 10:25
  • 您能否编辑您的问题以在数据集或存储的过程中显示 SQL 脚本(如果它正在调用过程)。

标签: ssrs-2012 reporting-services-2012


【解决方案1】:

您需要确保返回数据集中的列或行,其值为 NULL 或 0。如果该月的数据集中没有字段,则 SSRS 获胜不知道它的存在。我不确定您的查询是什么样的,但您可能可以在那里实现 COALESCE 以设置 0 ,其中您的月份有 NULL 值。

作为一个不太理想的结果,您可以在每个月的值字段中使用 LOOKUP。

LOOKUP("MonthName", Fields!Month.Value, Fields!Drug.Value, "DataSetName")

这将查找与第一个参数匹配的月份,并返回该药物字段的第一个找到值。不过,您似乎有多个字段,因此您必须使用 LOOKUPSET ,然后在这种情况下对数组的内容求和。

希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-19
    • 2015-05-07
    • 1970-01-01
    • 2014-12-13
    • 2020-09-29
    • 2016-07-21
    相关资源
    最近更新 更多