【问题标题】:SSRS - I want to filter on data used in an AverageSSRS - 我想过滤平均值中使用的数据
【发布时间】:2021-05-06 09:15:33
【问题描述】:

抱歉 - 我对 SSRS 还很陌生,还在苦苦挣扎。

我想对 3 年的数据中的一些值进行平均,但我不想将 2020 年包括在我的平均值中。

所以目前的值是 [Avg(L3VAValueAdded)] - 适用于所有年份 - 但包括 2020 年,但我需要类似于 [Avg(L3VAValueAdded) where year 2020] 或类似的东西?

【问题讨论】:

    标签: reporting-services ssrs-2012 ssrs-tablix


    【解决方案1】:

    如果您查看当前拥有的实际表达式,它可能看起来像这样......

    =AVG(Fields!L3VAValueAdded.Value)
    

    AVG() 函数的一个有趣特性是它不包含 NULL 值,因此我们可以利用它来发挥我们的优势。

    改变你的表达方式

    =AVG(IIF(Fields!myYearField.Value) = 2020, Nothing, Fields!L3VAValueAdded.Value))
    

    显然,将 myYearField 名称换成包含您的年份的正确字段。这假设“年份”字段是数字,如果是字符串,则将 2020 放在引号中。

    【讨论】:

    • 非常感谢您回答 Alan - 我已经替换了今年的字段名称,即描述,但现在我在 IFF 到第一个封闭括号的那部分下方出现了一条红色的摆动线。 =AVG(IIF(Fields!Description.Value) = 2020, Nothing, Fields!L3VAValueAdded.Value) 描述是正确的,因为它在下拉字段列表中所以我不知道为什么它不喜欢它?
    • =AVG(IIF(Fields!Description.Value = 2020, Nothing, Fields!L3VAValueAdded.Value))
    • 非常感谢艾伦!
    • 啊抱歉,漏掉了右括号!
    • 如果这回答了您的问题,您能否将答案标记为已接受(上/下投票按钮下的复选标记)。这有助于其他人在未来寻找类似问题的公认解决方案。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-08
    相关资源
    最近更新 更多