我正在将不同部分的研究数据(不同的电子表格)合并到单个excel上的一个选项卡中。
用于将数据匹配在一起的标准是研究参与者的ID (4个字符的字符串,例如RXGJ)。不幸的是,每一段数据都有不同的结构。主要数据以长格式组织,因此每个参与者有3行,对应于3次访问。我已经成功地将这些数据与从其他电子表格收集的仅在一次访问(即生物性别)中收集的数据进行了匹配。
这就是我的问题:其中一个标签为每个参与者18行,记录其他生活事件(使用标准化文本字符串编码)。我想要根据研究参与者的ID统计每种类型的事件发生的数量。我认为我需要基于研究ID创建一个单元格/数组范围(对于主数据和other选项卡上18行生活事件中的每一行都是通用的),然后使用COUNTIFS计算每个文本字符串的出现次数。我遇到的问题是,匹配在第一个匹配的参与者ID处停止,而我需要覆盖ID匹配的所有单元,然后进行计数……有什么想法吗?
非常感谢,蒂姆
发布于 2019-06-24 07:03:42
这可以通过Excel的Get和Transform Data函数(也称为Power Query)非常容易地完成。
如果您的数据不是表格格式,请将其格式化为表格。为此,突出显示单元格范围,然后单击Ctrl+T。然后功能区上将打开一个新选项卡,您将看到一个框,您可以在其中命名您的表。在本例中,我有三个表,名为1) t_UniqueParticipants 2) t_VisitsByParticipant 3) t_LifeEventsByParticipant

听起来像是你的一张桌子上每个参与者只有一行。你应该把它作为你的基础。
然后在第一个表格中选择一个单元格,然后从功能区中,转到数据>获取和转换数据>从表格。然后,查询编辑器将在新窗口中打开。
到目前为止,您需要做的唯一一件事就是进入Close & Load > Close & Load To。然后,查询编辑器窗口将关闭,并打开一个对话框。

在Import Data对话框中,只创建一个连接,Load to the Data Model,to。

对需要匹配的每个表重复此操作。
然后从转到数据>数据工具>创建关系>新建。然后选择唯一的participants表和participant ID (位于底部),以及其他表和participant ID字段之一,并单击of。

对其他表重复此操作。请记住,唯一的参与者表位于底部。

一旦你完成了,它看起来就像这样。单击Close。

现在,您可以插入一个数据透视表来聚合所有表中的数据。从此工作簿的数据模型中插入>透视表>。选择透视表的位置>确定。

现在你可以以任何你喜欢的方式设计你的数据透视表。只需确保从连接到数据模型的表中提取字段,数据模型旁边会有一个小的数据模型图标。此示例显示了唯一参与者表中的参与者ID和人生事件表中的人生事件字段。

https://stackoverflow.com/questions/56724468
复制相似问题