首页 > 解决方案 > SSRS 2008 钻取参数过滤 >= 不工作

问题描述

我有一个具有计数的主要摘要报告和一个显示详细信息的钻取报告,该详细信息具有一个参数,其中来自主报告的计数被传递给钻取。但是我想查看计数大于或等于 2 的钻取报告。如果我在指定钻取报告名称和参数的参数部分中给出 >=2,则在运行时钻取中不会选择任何内容主要报告。如果我指定一个值,它运行良好,但如果我给出 >=2,则主报告正在运行,但如果我将参数指定为文本,则在参数中也没有选择任何值。如果我将参数定义为整数,则会给出数据不匹配错误,并且报告根本没有运行。如果我定义为文本,则主报告正在运行但未选择任何参数。有人可以请教。谢谢你的时间

从主报告中,我想查看具有 count>=2 的钻取报告。如何在钻取报告中将 >=2 传递给 count 参数。我只有一个要求 - 将 >=2 作为参数传递。我如何做到这一点。

标签: reporting-servicesparametersdrillthrough

解决方案


该参数需要一个数字。如果您希望它有时等于参数并且大于其他参数,则需要创建第二个参数,然后让您的详细报告使用过滤器的 OR 来处理它。`

在查询中(假设 CNT 是计数字段):

WHERE (CNT = @CNT AND @OPERATOR = '=') OR (CNT >= @CNT AND @OPERATOR = '>=')

对于数据集过滤器,表达式类似于:

=IIF((Fields!CNT.Value = Parameters!CNT.Value AND Parameters!OPERATOR.Value = "=") OR (Fields!CNT.Value >= Parameters!CNT.Value AND Parameters!OPERATOR.Value = ">="), 1, 0)

将 Type 设置为 INTEGER,将Operator设置为 =,将Value设置为 1。

表达式检查记录是否等于选择 = 时的计数或 >= 选择 >= 时的计数,并为该记录提供值 1,否则为 0。然后过滤器检查等于1.


推荐阅读