我具有要为每个组件计算的平均组件数量,以便计算整体的平均值。
我没有用来计算平均值的基础数据。这是用于呼叫中心的计算。
每个分组都有多个子类型。平均值是这些子类型中的计算。我需要找到该组的平均值。
我已经确定要执行此操作的计算方式,但不知道如何在DAX中执行该操作。
(
( (avg_time_a + avg_time_b) * #calls ) + :: for Type A, Group X, Interval Y
( (avg_time_a + avg_time_b) * #calls ) + :: for Type B, Group X, Interval Y
( (avg_time_a + avg_time_b) * #calls ) + :: for Type C, Group X, Interval Y
( (avg_time_a + avg_time_b) * #calls ) ) :: for Type ...
/ Sum(#calls)
我相信我必须使用“更早版本”,但我无法弄清楚。
上方
Column Labels
North
Row Labels frct calls avg handletime
4/13/2019 20:00 52.5 295.71
4/13/2019 20:30 39.13333333 347.13
4/13/2019 21:00 44.8 164.55
4/13/2019 21:30 29.2 444.69
4/13/2019 22:00 24.3 239.43
4/13/2019 22:30 24.16666667 165.42
4/13/2019 23:00 16.26666667 549.83
忽略frct调用。我有这个。我要查找的结果是按间隔(行)和组(列)分组的处理时间。
我确实尝试过:
=CALCULATE(
(SUM( [AverageACWTimeInSeconds])+SUM([AverageTalkTimeInSeconds]))*SUM([NumberOfInteractions]),
ALLEXCEPT( IO_VolumeForecastStats, IO_VolumeForecastStats[IntervalStartEDT], IO_VolumeForecastStats[WorkgroupName])
)
...但是它将所有avg_time_x相加并乘以所有调用,而不是查看每个Skill类型数据并一次处理一个。
答案 0 :(得分:0)
我很抱歉这个问题太混乱了。
要使用EARLIER(),我必须创建每行唯一的键字段。我是通过CONCATENATE()组,类型和间隔来完成此操作的,因此每一行都有一个唯一的键值,供早期参考。我还必须将其创建为计算字段而不是度量。
要解决第一部分,我必须首先创建一个计算字段,该字段将基于每个类型计算(((avg_time_a + avg_time_b)* #calls)并求和所有类型。为此:
=CALCULATE(
(SUM( [avg_time_a])+SUM([avg_time_b]))*SUM([#calls]),
ALLEXCEPT( MyTable, MyTable[Interval], MyTable[Group]),
FILTER( MyTable, MyTable[skill interval id]=Earlier(MyTable[skill interval id] ) )
)
一旦我将此字段加总,就可以将其除以通话次数。
我仍然对使用行上下文不满意,但是我每次都不断学习。