【问题标题】:filtering SSRS expressions过滤 SSRS 表达式
【发布时间】:2023-03-08 13:55:01
【问题描述】:

我有一个 tablix,它有一个表达式作为行标题,它在下面显示 Yr2018-Q1 表达式:

="Yr"&Fields!YEAR.Value & "_Q" & Fields!qtr.Value 

我试图仅显示早在 2017 年第二季度,例如

目前 tablix 显示如下:

【问题讨论】:

  • 听起来您需要在 tablix 上使用过滤器,或者需要在数据集中包含 WHERE。您的数据集中有实际的日期列吗?
  • 当前有一个过滤器 =Fields!YEAR.Value*100+Fields!Qtr.Value
  • 关于日期字段的其他问题呢?
  • 是的 Yr 和 Qtr 是数据集中的日期字段,但是是否可以在 tablix 过滤器上处理它?
  • 如果是日期,则只需过滤选择过滤器中的字段,选择 >= 作为运算符,并选择 2017-04-01 作为值(因为 2017 年 4 月是 2017 年第二季度的开始) .

标签: sql-server reporting-services ssrs-2012 ssrs-expression


【解决方案1】:

正如拉努所说,最好的方法是按日期列过滤(如果有)。但是,这仅在您有办法将季度映射到特定日期时才有效。如果不是这种情况,则以下内容应适用于您的过滤器表达式:

表达式

Switch(Fields!YEAR.Value = Parameters!Year.Value
    And Fields!qtr.Value >= Parameters!Qtr.Value, 1,
    Fields!YEAR.Value > Parameters!Year.Value, 1,   
    1=1, 0
)

操作员

=

价值

1

switch 语句没有默认情况,因此1=1 的计算结果始终为True

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多