Alf*_*meo 3 reporting-services
我从下面的DataSet绘制图表
Owner Ver
A 1.1
A 1.2
A 1.3
B 1.1
B 1.2
C 1.1
Run Code Online (Sandbox Code Playgroud)
在图表中,我需要的是一个表达式,用1.1和1.2过滤A和1.1和1.2并且休息,因此数据将具有
Owner Ver
A 1.1
B 1.1
B 1.2
C 1.1
Run Code Online (Sandbox Code Playgroud)
根据您的特定要求,您可以在图表上设置过滤器,如下所示:

表达式是:
=IIf(
(Fields!Owner.Value <> "A" and Fields!Owner.Value <> "B")
or (Fields!Owner.Value = "A" and Fields!Ver.Value = 1.1)
or (Fields!Owner.Value = "B" and Fields!Ver.Value = 1.1)
or (Fields!Owner.Value = "B" and Fields!Ver.Value = 1.2)
, "INCLUDE"
, "EXCLUDE"
)
Run Code Online (Sandbox Code Playgroud)
这给出了您所需的结果:

但是,这根本不可扩展,因为随着存在更多要求,您将不得不使表达式变得越来越复杂 - 如在其他当前答案中所提到的,如果可能的话,考虑在存储过程中应用基于参数输入的过滤可能是值得的.
但如果您有非常具体的要求,上述情况应该没问题.
评论后编辑
要明确排除而不是包含你可以使用完全相同的东西,只需翻转逻辑.
假设您要排除以下组合:
A -> 1.2
A -> 1.3
B -> 1.3
Run Code Online (Sandbox Code Playgroud)
您只需将表达式更改为以下内容:
=IIf(
(Fields!Owner.Value = "A" and Fields!Ver.Value = 1.2)
or (Fields!Owner.Value = "A" and Fields!Ver.Value = 1.3)
or (Fields!Owner.Value = "B" and Fields!Ver.Value = 1.3)
, "EXCLUDE"
, "INCLUDE"
)
Run Code Online (Sandbox Code Playgroud)
这给出了与上面相同的结果.
| 归档时间: |
|
| 查看次数: |
13017 次 |
| 最近记录: |