创建按日期和类别分组数据的图表

创建按日期和类别分组数据的图表

我正在查看 Twilio 的一份显示外发短信的 CSV 文件。我有三个消息服务,每个服务都有一个不同的电话号码。报告中的每一行代表一条消息,并有一个时间戳和发件号码。

我想要的是得到一个图表,其中每个数字的消息计数作为一个单独的系列。我想我需要一个数据透视表来实现这一点,但我对 Excel 有点迷茫——通常我会在黑屏上毫无问题地输入 SQL,但我需要一张漂亮的图片!

样本数据:

FromNumber  SentDate
2345678910  2018-01-01
5678910112  2018-01-01
9876543210  2018-01-02
5678910112  2018-01-02
5678910112  2018-01-02
2345678910  2018-01-02
9876543210  2018-01-02
9876543210  2018-01-03
2345678910  2018-01-03
9876543210  2018-01-03
5678910112  2018-01-03

期望输出:

图表

我正在运行 Excel 2016,看看是否有区别。

答案1

对于这一点来说,Excel 比 Calc 容易得多。

  1. 将您的数据转换为 Excel 数据表Insert > Table(不是必需的,但它可以使数据维护和长期更新更容易)。
  2. 选择数据表后,插入数据透视表Insert > Pivot Table
  3. 设置您的数据透视表:
    行 = SentDate
    列 = FromNumber
    值 = FromNumber 的数量(可能默认为总和,只需通过值字段设置对话框进行更改)。
  4. 插入图表Insert > Charts > 2d Column Chart。默认情况下,这将创建一个数据透视图,而不是常规图表。
  5. 按口味格式化。

答案2

我使用的是 LibreOffice Calc,因此菜单和选项布局略有不同,但这足够相似,您应该能够在 Excel 中找到设置。我已经有一段时间没有画图表了,所以可能有更直接的方法来找到这个解决方案,但我刚刚想出了一个快速而粗糙的解决方案。

我使用数据透视表来汇总数据:

在此处输入图片描述

(取消选择总计,按顺序将 FromNumber 和 SendDate 拖到行字段,将 SendDate 拖到数据字段,将 Sum 更改为 Count。)这将生成此数据透视表:

在此处输入图片描述

您想要的柱形图将日期视为类别标签,而不是实际日期。条形图按顺序排列,从第一个类别开始。因此,如果没有实际值,则每个电话号码的每个日期都需要一个占位符。否则,条形图将不会与正确的日期相关联。

您的样本数据中没有 987 这个数字的 1 月份值。为了防止 987 条出现在错误的位置,我刚刚创建了一个重复表并为 1 月份插入了一个零条目:

在此处输入图片描述

要复制数据透视表,我只需填充第一个单元格=A2并拖动即可。然后添加虚拟的一月条目。

选择新表格,插入图表,然后选择柱形图选项。图表需要在其他设置选项卡中进行一些调整。

在“数据范围”下,指定行中的数据系列:

在此处输入图片描述

数据系列需要进行一些清理。对于每个电话号码,选择Y-Values。在下Range for Y Values,选择适当的计数范围。在下Categories,选择整个 SendDate 值范围(不包括标题的整个表格列)。一旦您为第一个电话号码指定了类别范围,这也应该适用于其他号码,只需验证即可。

在此处输入图片描述

删除所有标记为 的系列Row n,只留下电话号码。

这将生成基本图表:

在此处输入图片描述

您可以自定义图例的位置、Y 轴间隔、图表和轴标签以及其他格式。

相关内容