使用SSRS表达式隐藏基于参数选择的Tablix

时间:2017-03-26 23:30:05

标签: expression sql-server-2014 ssrs-2008-r2

我有一个报告显示县或代理商的销售情况 - 但用户无法同时选择这两种产品。 @AgentOrCounty参数是硬编码的:Agent = 0且County = 1.并且@AgentID参数只接受一个值,但@CountyID接受多个值。我的报告有两个Tablix:一个用于数据集,另一个用于显示错误消息,如果用户同时选择@AgentID和@CountyID

parameters

tablix

我希望有人能帮助我的是我如何编写两个表达式来根据用户选择隐藏Tablix。

我遇到的另一个问题是@CountyID参数是一个多值参数,我必须传递一个NULL值,以便在用户希望按代理显示时允许报告运行。

现在,在我的错误消息tablix上,我有以下表达式:

=IIF(LEN(Parameters!AgentOrCounty.Value)=0,TRUE,FALSE) OR IIF(LEN(Parameters!AgentID.Value)=0,TRUE,FALSE)

但是当用户正确地为代理运行报告时,这并不会隐藏错误消息选项卡。

当我以逻辑方式思考时,如果@AgentOrCountyID = 0且@CountyID为NULL或@AgentOrCountyID = 1且@AgentID为NULL,我希望隐藏错误消息表。

如果@CountyID和@AgentID都不为NULL,我希望隐藏报告数据tablix。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

要隐藏错误消息tablix,我使用了以下表达式:

=IIF((Parameters!AgentOrCounty.Value=0 And Parameters!CountyID.Value(0)="NULL") 
Or (Parameters!AgentOrCounty.Value=1 And Parameters!AgentID.Value Is Nothing),True,False)

要在用户同时选择代理和县时隐藏我的数据集tablix,我使用以下表达式:

=IIF(Len(Parameters!AgentID.Value)>0 And Len(Parameters!CountyID.Value(0))>0,True,False)