【问题标题】:How to set up a dataset filter to check for multiple criteria如何设置数据集过滤器以检查多个条件
【发布时间】:2016-12-05 18:54:11
【问题描述】:

我有数据要根据是否匹配 3 个条件中的 1 个来过滤。

  1. 赞助商评分 = 0

  2. IT 评级 = 0

  3. 评估代码 = NC 或 -(但有多个代码,我们不想将它们排除在外,因为它们可能符合其他标准之一)

如何在不调整存储过程的情况下做到这一点?

理想情况下我想说

如果记录的评估代码为 NC 或 - 那么无论评级如何,我都希望看到它 如果记录的 IT 评级或 Spnsr 评级等于 0,那么无论评估代码如何,我都希望看到它

我在数据集过滤器中尝试了以下方法:

NC 中的 Eval_code,- 文本

IT 评级 AND Spnsr 评级 = 0 整数

但这只会返回满足该条件的记录。有其他评估代码的记录具有 IT 和 Spnsr 评级 = 0 以及 IT 和 Sponsr 评级 >0 的记录具有 NC 或 -。

谢谢

【问题讨论】:

  • 你试过看Add a Filter to a Dataset吗?
  • 是的,我在数据集过滤器中尝试了以下内容: NC 中的 Eval_code,- 文本 IT 评级和 Spnsr 评级 = 0 整数但这仅返回满足该条件的记录。有其他评估代码的记录具有 IT 和 Spnsr 评级 = 0 以及 IT 和 Sponsr 评级 >0 的记录具有评估代码 NC 或 -

标签: sql-server reporting-services ssrs-2008 ssrs-2008-r2 ssrs-2012


【解决方案1】:

在 where 子句中使用 AND 要求满足所有 where 子句。使用 OR 只需要满足一个条件。如果你想要条件 A、B 或 C,那么

Where condition1 = A
OR condition2 = B
OR condition3 = C

如果你想要条件 A 和 B 或 C 那么

Where condition1 = A
AND (condition2 = B OR condition3 = C)

你的情况

Where [EvalCode] IN ('NC','-')
OR [SponsorRating] = 0
OR [ITRating] = 0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    • 2018-02-09
    • 1970-01-01
    相关资源
    最近更新 更多