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
字段即可得到答案。
我正在尝试根据所选的多值参数通过文本框中的计数表达式来计算记录数。
我的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
字段即可得到答案。