我试图获得循环时间<10的所有序列号的平均循环时间。
这是我正在使用的表达式 = Avg(Fields!CycleTime.Value)IFF(CycleTime&lt; 10),“Fields!CycleTime.Value”,“0”)
答案 0 :(得分:0)
我不确定你的语法来自哪里,但这一切都错了......
首先,它的IIF不是IFF
你需要的表达是
typedef struct Stuff
{
int id;
String name[20];
} Stuff;
您感兴趣的解释
内部部分只是将每条记录评估为它的值,如果它是&lt; 10或=AVG(IIF(Fields!CycleTime.Value <10, Fields!CycleTime.Value,Nothing))
,如果它&lt;&gt; = 10。
然后我们只取这些结果的平均值。
注意我们无法为10或更高的记录返回0,因为这会导致它们被包含在平均值中。通过返回nothing
,AVG函数将忽略这些。
为了说明,我们说我们有以下值
Nothing
如果我们的IIF函数为值&gt; = 10返回零,那么我们将得到这些结果
5,6,7,8,9,10,11,12,13
这些的总和是35,但AVG的9个值是3.89
如果我们改变IIF功能以返回“Nothing&#39;然后结果会是这样的。
5,6,7,8,9,0,0,0,0
我们的总和是35,但AVG忽略了5,6,7,8,9, Nothing, Nothing, Nothing, Nothing
值,所以将结果除以5,得到平均值为7。