【问题标题】:How to implement Having Clause in SSRS如何在 SSRS 中实现拥有子句
【发布时间】:2016-12-15 12:23:18
【问题描述】:

我是 SSRS 的新手。

我正在尝试创建一个报告,我需要按 [DATA Flag] 列进行分组,该列工作正常,但是一旦数据被分组,我需要设置 DATA FLAG ="TotalCancellations" 并且还有另一列 CancelDays 我需要将其设置为

选项1:-

因此,为了实现这一点,我添加了两个过滤器,其中一个 表达式:数据标志 运算符 = 和值为 TotalCancellations

和其他过滤器如下

表达式:Canceldays 运算符 = 和值为

但它不起作用并给出空结果,我有 Cancelldays

选项 2:-

右键单击 Group 并在 General Tab 中,Group on Expression 如下]

Fields!DFlag.Value = "TotalCancellations" AND Fields!DFlag.Value

哪个没用:(

我相信这类似于在 SQL 中编写有子句,但我不知道如何在 SSRS 中实现它。

我可以添加 SQL 查询,但它已经是一个包含很多联合的庞大查询,所以如果有什么方法可以在 SSRS 中实现,请建议我

我在 SSRS 2008 中使用矩阵

【问题讨论】:

  • 这句话Fields!DFlag.Value = "TotalCancellations" AND Fields!DFlag.Value <120怎么可能有效? DFlag 不能同时为 TotalCancellations< 120。你能显示一些数据吗?
  • 您说您的 SQL 查询很大,但通常情况并非如此。您能否将其添加到您的答案中或将其粘贴到 PasteBin 之类的地方并添加链接?为了提高效率,应该尽可能在 SQL 查询中进行这样的过滤。

标签: reporting-services ssrs-2008 ssrs-2008-r2


【解决方案1】:

调整选项 1 的语法可能是最简单的解决方案。在 Group Properties 的 Filters 部分下,输入以下两个过滤器:

  • 表达式:[DFlag](文本)
    • 操作员:=
    • 值 = TotalCancellations
  • 表达式:=Sum(Fields!CancelDays.Value) [在表达式生成器中输入](整数)
    • 操作员:
    • 价值:120

如果您需要按一个或另一个条件进行过滤,将所有过滤器放在一个表达式中(如您的选项 2)会很有用。

【讨论】:

  • 我试过你的过滤器表达式,但不幸的是它对我不起作用:(
【解决方案2】:

以下是过滤器表达式

这就是分组方式

【讨论】:

    【解决方案3】:

    过滤器应该在 tablix 级别实现,而不是在组级别。

    【讨论】:

    猜你喜欢
    • 2017-07-07
    • 2018-09-17
    • 1970-01-01
    • 2020-01-28
    • 2010-11-03
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多