代码之家  ›  专栏  ›  技术社区  ›  user1816979

ssrs报告2008选择1或其他参数

  •  -1
  • user1816979  · 技术社区  · 8 年前

    在ssrs 2008报告中,我有一个用户希望有时选择两个不同的参数。

    有时,用户希望: 1.仅选择邮政编码, 2.仅选择城市和州,或 3.选择邮政编码和市/州组合。

    在SSRS 2008报告中,我看不出这是怎么可能的?如果我错了,你会让我吗 我知道如何实现这个目标吗?

    如果这不可能,我看到的唯一选项是创建另一个参数,其中 选项将是选择: 1.仅选择邮政编码, 2.仅选择城市和州,或 3.选择邮政编码和城市声明组合。 使请求的参数可用于请求。

    让我知道你的建议是最好的选择。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Community CDub    4 年前

    我将有两个过滤器(实际上城市和州是分开的,所以有三个),并允许它们为空。

    如果要按查询中的参数进行筛选,则可以添加where子句以匹配参数,除非参数为空:

    SELECT * 
    FROM TABLE 
    WHERE (ZIP = @ZIP OR @ZIP IS NULL)
       OR (
           (CITY = @CITY OR @CITY IS NULL)
          AND
           (STATE = @STATE OR @STATE IS NULL)
          )
    

    如果要使用表达式在SSR中进行过滤,则需要将它们组合在IIF中:

    =IIF(Fields!ZIP.Value = Parameters!ZIP.Value AND NOT ISNOTHING(Parameters!ZIP.Value), 1,   
     IIF(Fields!CITY.Value = Parameters!CITY.Value AND NOT ISNOTHING(Parameters!CITY.Value) AND Fields!STATE.Value = Parameters!STATE.Value AND NOT ISNOTHING(Parameters!STATE.Value), 1, 0)) 
    

    并设置 价值 相配 1. .

    内容如下:

    如果ZIP等于ZIP参数,则ZIP 参数不为空,则为“是”

    其他的

    如果城市和州字段等于其参数且不为空,则为“是”

    否则不会。