PowerPivot 分组平均 DAX

PowerPivot Grouped Average DAX

我正在尝试在 PowerPivot 中对一些外呼数据建模。我们在多个地点都有代表,一般来说,我们将外呼分为一天中的两个时段(中午 12 点之前和之后)。

我们可以从我们的 phone 系统中导出一天中每次通话的列表 -- 举个例子如下:

+------------+-------------+-------+-----------+-------------+
|    Date    | Call Length | Agent | Workgroup | Call Period |
+------------+-------------+-------+-----------+-------------+
| 01.01.2016 | 00:05:26    | Sam   | Sydney    |           1 |
| 01.01.2016 | 00:15:05    | Sam   | Sydney    |           1 |
| 01.01.2016 | 00:55:22    | John  | Sydney    |           2 |
| 01.01.2016 | 00:45:11    | Sam   | Sydney    |           2 |
| 01.01.2016 | 00:04:52    | John  | Sydney    |           1 |
| 01.01.2016 | 00:01:52    | Timmy | London    |           1 |
| 01.01.2016 | 00:02:21    | Timmy | London    |           2 |
| 01.01.2016 | 00:05:21    | Karen | London    |           1 |
| 02.01.2016 | 00:15:21    | Sam   | Sydney    |           1 |
| 02.01.2016 | 00:42:44    | Sam   | Sydney    |           2 |
| 02.01.2016 | 01:52:22    | John  | Sydney    |           1 |
| 02.01.2016 | 00:53:24    | John  | Sydney    |           1 |
| 02.01.2016 | 00:05:53    | Kerry | Sydney    |           2 |
| 02.01.2016 | 00:43:43    | Sam   | Sydney    |           2 |
| 02.01.2016 | 01:08:00    | John  | Sydney    |           2 |
| 02.01.2016 | 00:13:52    | Timmy | London    |           2 |
| 02.01.2016 | 00:25:44    | Timmy | London    |           1 |
| 02.01.2016 | 02:58:31    | Karen | London    |           1 |
| 02.01.2016 | 00:08:37    | Timmy | London    |           2 |
| 02.01.2016 | 00:12:28    | Karen | London    |           2 |
+------------+-------------+-------+-----------+-------------+

我要计算的是每个工作组每天花在 phone 上的平均时间,例如。每个代理在每个位置 phone 上的平均时长。

我猜算法如下:

措施 1:每个座席的总通话时间(例如,当天所有通话时间的总和) 衡量标准 2:每个工作组的座席平均总通话时间(例如,以上按工作组分组的总和除以该工作组中的座席人数)

输出可能看起来像这样(但不一定是):

+------------+-----------+-----------------------+-----------------+-----------------------------+
|    Date    | Workgroup | Total Number of Calls | Total Talk Time | Average Talk Time per Agent |
+------------+-----------+-----------------------+-----------------+-----------------------------+
| 01.01.2016 | Sydney    |                    11 | 03:02:42        | 1:34:53                     |
|            | London    |                     4 | 02:24:51        | 01:13:41                    |
| 02.01.2016 | Sydney    |                     5 | 01:52:05        | 00:56:51                    |
|            | London    |                    52 | 10:11:23        | 03:51:11                    |
+------------+-----------+-----------------------+-----------------+-----------------------------+

抱歉,如果我不清楚我在问什么。

在数据透视表 table 上对数据进行切片将进行计算。 您只需要进行以下计算:

DurationOfCall  :=sum(MyTable[CallLength])

NrOfCalls   :=countrows(MyTable)

AvgDuration :=DIVIDE([DurationOfCall],[NrOfCalls])

这将给出以下结果(在您的样本数据集上):

带有测试用例的工作簿:attachment