【问题标题】:Reporting Parameters in Expression表达式中的报告参数
【发布时间】:2014-08-20 09:47:04
【问题描述】:

我正在尝试在我的表达式中使用参数,因为我将无法使用数据集中的参数,我正在尝试做一个简单的表达式,但我正在努力找出我做错了什么,这里是我想要达到的目标:

我想在 Month(Date) = @Month 时计算行数。

到目前为止我所拥有的:

=IIf(Month(Fields!Date_Logged_SQL.Value) = Parameters!rpMonth.Value,CountRows(),Nothing)

我的结果没有返回任何值,我假设这一定与我的错误返回有关。

【问题讨论】:

    标签: reporting-services parameters expression


    【解决方案1】:

    您需要使用IIf 表达式作为更大聚合表达式的一部分,例如:

    =Sum(IIf(Month(Fields!Date_Logged_SQL.Value) = Parameters!rpMonth.Value,1,0))
    

    对于 Scope 中的每一行,这将为满足您检查的行总数添加 1 或 0,最终结果是与月份匹配的行总数。

    根据您添加表达式的位置,您可能需要添加 Scope 参数才能获得正确的结果,例如类似:

    =Sum(IIf(Month(Fields!Date_Logged_SQL.Value) = Parameters!rpMonth.Value,1,0), "DataSet1")
    

    【讨论】:

    • 非常感谢!,我觉得这是一件小事,但你为我节省了很多时间 :)
    • 如果我想在我的表达式中添加另一个参数,我会这样做:=Sum(IIf(Month(Fields!Date_Logged_SQL.Value) = Parameters!rpMonth.Value & Year(Fields!Date_Logged_SQL.Value) = Parameters!rpYear.Value,1,0)) 当我这样做时,它只会返回所有值 0,如果这很明显,我很抱歉SSRS 很新。
    • 是的,它只是一个表达式,因此您可以添加任意数量的条件,只要 SSRS 可以解析它。唯一需要注意的是,SSRS 使用 And 作为布尔运算符,而不是 &
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多