【问题标题】:SQL SSRS, Expression iif sum not calculating as expectedSQL SSRS,表达式 iif 总和未按预期计算
【发布时间】:2020-10-13 19:11:52
【问题描述】:

我目前正在编写一个 SSRS 报告,我的主要数据已经通过 SQL 编码填充到一个表中,我在下面添加了另一个表来汇总数据。

我遇到的问题是当我输入一个大于 1 的表达式时,如果给出的结果不符合预期 我的表达如下:

=iif(reportitems!country1.Value = Fields!country.Value and Fields!Loc_Quality.Value = "GOOD",sum(Fields!Qty_Ordered.Value),nothing)

给出下面的结果

[![给出的结果][1]][1]

我应该期待

[![预期结果][2]][2]

这里有什么我遗漏的东西,还是我只是想做一些在逻辑上不可能的事情? [1]:https://i.stack.imgur.com/vQ2vF.png [2]:https://i.stack.imgur.com/FAwtQ.png

【问题讨论】:

    标签: reporting-services expression ssrs-tablix


    【解决方案1】:

    试试这个..

    =SUM(
         IIF(
             reportitems!country1.Value = Fields!country.Value and  Fields!Loc_Quality.Value = "GOOD",
             Fields!Qty_Ordered.Value,
             Nothing
            )
         )
    

    【讨论】:

    • 嗨艾伦,我已经尝试过这种方法,但是由于我使用的是不在标题中的报告项,所以我不能以这种方式使用聚合函数。具有讽刺意味的是,我删除了对 Country 字段的引用,现在我得到了正确的输出! =SUM( IIF( Fields!Loc_Quality.Value = "GOOD", Fields!Qty_Ordered.Value, Nothing ) )
    • 由于不知道您的报告结构,所以我只能放弃您提供的内容。我的回答的重点是将 IIF 移动到总和中,而不是按照您的方式移动。
    • 没问题,谢谢你的帮助:D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多