当前我正在尝试对一组数字进行平均,但具有某些条件。SSRS平均值函数返回的结果与预期值不同
是否可以在avg()
内使用iif()
并返回正确的结果?
此外,截至目前我的计算返回一个小数返回到权力(8.9267 .... E -05)。
我试着绕过AVG
函数,通过有条件地求和然后除以一个有条件的计数,但它给了我相同的结果。
有人可以解释为什么这是返回并提供帮助?
目前我有:
=avg(iif((This_case) AND (That_case) AND (This_conditional)
, Fields!ResponseRate.Value
, 0))
基本上我想要的平均ResponseRate如果某些条件得到满足。
sum
功能适用于条件,但平均不适用。
你可以在'Avg'内绝对使用'IIf'并获得正确的结果。没有你的数据,就不可能说出你的具体情况发生了什么。您是否能够提供几行数据集,以便在可重复的测试用例中演示您的问题? –
@IanPreston这就是我的想法,但我得到了我提到的结果。目前我有= avg(iif((This_case)和(That_case)AND(This_conditional),Fields!ResponseRate.Value,0))基本上我需要平均ResponseRate如果满足某些条件。 (我对SSRS比较陌生,所以我可能会误解你)。求和函数适用于条件,但平均值没有。 – Ryan
你想从计算中完全排除“假”值吗?如上所述,你仍然包括它们,只是将它们设置为'0',因此仍将它们包括在计算中。这可能会解释您的意外结果。如果你想完全排除它们,使用'Nothing'而不是'0'。如上所述,这仍然只是假设 - 您是否可以用样本数据集复制您的问题并将其添加到问题中? –