SSRS 多值参数计数表达式

SSRS Multi Value Parameter Count Expression

我正在尝试根据所选的多值参数通过文本框中的计数表达式来计算记录数。

我的table:

WSVLWOs

WO_NUMBER    WO_ACTN_TY
18-003759   Adjust to Grade
18-005909   Repair / Replace Box
18-002559   Repair / Replace Box
18-003229   Inspection
18-003224   Repair / Replace Box

我的计数表达式:

=Count(Fields!WO_NUMBER.Value, "WSVLWOs")

我的可用参数

Adjust to Grade
Repair / Replace Box
Inspection

table上的过滤器:

现在当我select多个参数时,它似乎没有给我参数值的计数总和,只有一个参数值。我的计数表达式有问题吗?

您的过滤表达式是

=Parameters!Tasks.Value(0) which is only the first selected parameter value.

有几种方法可以解决此问题。

您应该能够将您的表达式更改为 =JOIN(Parameters!Tasks.Value, ","),尽管根据数据类型等,这可能不起作用。所有这一切都是将逗号分隔的列表传递给过滤器。

但是我怀疑这是否是最好的方法。如果可以的话,我会在数据集查询中进行过滤,因为这意味着只需要 returned 数据,这样你的计数就简单多了。

如果您需要单个记录,但也需要计数,那么 return 所有需要的行,数据集查询看起来像。

SELECT * FROM WSVLWOs WHERE WO_ACTN_TY IN(@Tasks)

@Tasks 将被传递到查询中,并被正确解析,您将只获得所需的记录。你的 COUNT() 表达式 with then 工作正常。

如果您需要计数,那么您可以在数据集查询中执行此操作,return只需计数

SELECT COUNT(*) as myCount FROM WSVLWOs WHERE WO_ACTN_TY IN(@Tasks)

那么您只需引用数据集中的 myCount 字段即可得到答案。