过滤数据集上的值或任何值

Hen*_*rov 3 filter dataset reporting-services

我有一个包含大量记录的数据集.我想在@Ptype或PType =''中包含所有那些记录的记录

YEARMONTH --|-- PTYPE --|-- VALUE
201207 --|-- bike --|-- 600
201208 --|-- moped --|-- 0
201209 --|-- '' --|-- 0
201210 --|-- bike --|-- 600
201211 --|-- '' --|-- 0
201212 --|-- car--|-- 1200
Run Code Online (Sandbox Code Playgroud)

使用参数过滤.过滤发生在报告中对共享数据集的引用;

Expression:PType
Operator: in 
Value: @Ptype 
Run Code Online (Sandbox Code Playgroud)

现在当@PType包含('bike','moped')

我得到这个结果集:

YEARMONTH --|-- PTYPE --|-- VALUE
201207 --|-- bike --|-- 600
201208 --|-- moped --|-- 0
201210 --|-- bike --|-- 600
Run Code Online (Sandbox Code Playgroud)

但我想

YEARMONTH --|-- PTYPE --|-- VALUE
201207 --|-- bike --|-- 600
201208 --|-- moped --|-- 0
201209 --|-- '' --|-- 0
201210 --|-- bike --|-- 600
201211 --|-- '' --|-- 0
Run Code Online (Sandbox Code Playgroud)

所以我也希望看到那些Ptype为Empty/NULL/Nothing的记录.这可能吗?

如果是这样,怎么样?

Ian*_*ton 5

您可以将过滤器表达式设置为:

=IIf(IsNothing(Fields!PTYPE.Value)
      or Fields!PTYPE.Value = ""
      or InStr(Join(Parameters!PType.Value, ","), Fields!PTYPE.Value) > 0
    , true
    , false)
Run Code Online (Sandbox Code Playgroud)

将其设置为布尔过滤器以显示表达式= true.

这将检查多值参数中是否存在该字段,但还包括NULL值和空字符串值.

对我来说工作正常:

在此输入图像描述