PowerPivot分组平均DAX

时间:2016-04-28 01:15:36

标签: excel-formula pivot-table powerpivot dax

我试图在PowerPivot中为一些出站呼叫数据建模。我们在多个地点都有代表,一般情况下,我们将出站呼叫分解为当天的两个时段(12点之前和之后)。

我们可以从我们的电话系统中导出数据,列出每天拨打的电话 - 让我们举个例子如下:

+------------+-------------+-------+-----------+-------------+
|    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 |
+------------+-------------+-------+-----------+-------------+

我想要计算的是每个工作组在手机上花费的平均每日时间,例如。平均每个位置手机上的每个代理人有多长时间。

我猜测算术如下:

措施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                    |
+------------+-----------+-----------------------+-----------------+-----------------------------+

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

1 个答案:

答案 0 :(得分:1)

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

DurationOfCall  :=sum(MyTable[CallLength])

NrOfCalls   :=countrows(MyTable)

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

这将得到以下结果(在您的样本数据集上): enter image description here

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