【问题标题】:How to add a filter based on more conditions in a report in Report Builder如何在报表生成器的报表中添加基于更多条件的过滤器
【发布时间】:2019-10-03 13:48:59
【问题描述】:

我有一份包含一个现有过滤器的报告。现在我正在尝试添加额外的 2 个过滤器,但每个过滤器都有多个条件,在这里我迷路了。 (我正在使用 Report Builder 2016。)

  1. 要添加的过滤器

字段 Content LIKE ('%Tax%') AND 字段 DeliveryDate 在当前月份

  1. 要添加的过滤器

field RTI = 'No' AND field ActulDelivery = 'Null' AND fieldScheduledDeliveryDate 来自前几个月(不包括当月)

我现有的过滤器说:显示当月所有具有FinalDeliveryDate 的货件。 过滤器的值如下所示:

=DateSerial(Year(Now()), Month(Now()), "1").AddDays(-1)

新的 2 个过滤器应排除所有符合上述条件的货件。

请任何人告诉我如何处理它?非常感谢您的帮助!

【问题讨论】:

  • 是您的过滤器 1 和 2 基于某些条件,即如果满足条件 A,则添加过滤器 1,否则过滤器 2。如果是,那是什么条件?
  • 不,没有这样的条件。基本上,我只需要去掉所有满足过滤器 1 和 2 条件的数据集(出货量)。
  • 从 SQL Server 查询您的查询是什么样的?为什么不处理源查询中的排除项?

标签: sql sql-server-2008 reporting-services ssrs-2012 reportbuilder3.0


【解决方案1】:

您将需要添加过滤器,如下图所示。 注意忽略屏幕截图中的最后一个过滤器,而是检查 For ActulDelivery = 'Null' 的 Expressin 和值。

我还没有创建前几个月(不包括当前月份)的 ScheduledDeliveryDate 过滤器,但您知道如何实现这一点。一步一步尝试。尝试一次添加一个过滤器,然后您可以将所有过滤器组合起来

对于内容值表达式将是。 * 是 SSRS 中的 %

="*abcd*"

对于当前月份的 DeliveryDate

=Month(Fields!DeliveryDate .Value)

值表达式将是

=Month(now)

对于字段 RTI = 'No'

值表达式是

="NO"

对于 ActulDelivery = 'Null'

表达式为“真”

而价值是,

=IIF(Isnothing(Fields!user_name.Value),"true","false")

【讨论】:

  • 应该可能在某处将年份纳入其中 - 添加一个或将 MONTH 更改为 FORMAT(X, "yyyyMM")
  • 当然,但你的意思是什么??
  • 要么为交货日期添加另一个过滤器,该过滤器使用 YEAR 函数,就像你在 MONTH 中一样(=YEAR(Fields!DeliveryDate.Value)=YEAR(NOW))。或者使用 FORMAT 函数在一个过滤器(=FORMAT(Fields!DeliveryDate.Value, "yyyyMM")=FORMAT(NOW, "yyyyMM") `)中比较两者,就像您使用 MONTHt 一样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-14
  • 1970-01-01
  • 2013-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多