首页 > 解决方案 > Visual Studio 中的多条件计数表达式

问题描述

我正在尝试添加一些报表逻辑来保存设置另一个数据集。我需要的第一件事是计算每个日期的行数,然后计算每个日期的行数,其中另一列状态 =“是”。

我有一个原始数据存储过程,它在另一个选项卡上将数​​据作为表返回。

标签: sql-servertsqlreporting-servicesvisual-studio-2017expression

解决方案


匹配日期参数的记录数:

=SUM(IIF(Fields.DATE_FIELD.Value = Parameters!DATE_PARAM.Value, 1, 0))

与另一列 = YES 的日期参数匹配的记录数:

=SUM(IIF(Fields.DATE_FIELD.Value = Parameters!DATE_PARAM.Value AND Fields.OTHER_FIELD.Value = "Yes", 1, 0))

IIF 检查条件,如果它们为 TRUE,则返回 1 作为记录,否则返回 0,然后将这些值相加。

更新:我想我误解了你需要什么。

您希望按日期计算所有记录,而不仅仅是特定日期。

为此,您需要一个按日期分组的表,然后您可以只使用 COUNTROWS 或 SUM(1) 作为每个日期的记录数。

然后您可以使用 IIF 检查另一个字段中的 Yes:

=SUM(IIF(Fields.OTHER_FIELD.Value = "Yes", 1, 0))

由于您的表格已经按日期分组,因此您不需要上述表达式中的日期。


推荐阅读