如果分组中为空,则显示 0 值,但仅在 SQL 中的特定条件下

问题描述

我正在使用 SSRS 2008,并且有一个大型查询,我继承了多个销售代表作为参数。我想创建一个总行,其中包含按月完成的总销售额分组。在大查询的正文中,我使用了一个 CASE 语句来创建这些月度总数:

CASE WHEN C.ClosingDate BETWEEN '1/1/2020' AND '1/31/2020' THEN '1/2020' 
CASE WHEN C.ClosingDate BETWEEN '2/1/2020' AND '2/28/2020' THEN '2/2020'
END AS 'Monthly_Total'

我按 Monthly_Total 分组,然后按顺序正确显示每个月的总销售额。

我的问题是,当我选择一个特定的销售代理,并且该人在 1 月份没有完成销售时,分组中没有出现任何值。但是,如果我选择该月的所有代理,则会出现一个值。所以我特别需要一个显示为 0 的值,即使没有基于该代理销售的数据。

解决方法

当值不存在时,尝试使用 if data.get('delete') is not None 处理 null

示例:

WHEN C.ClosingDate IS NULL THEN