微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何转换类似于交叉表的 Access 数据

如何解决如何转换类似于交叉表的 Access 数据

我想要显示类似于交叉表查询的数据,但不完全相同。我拥有的数据看起来像这样,每个数据段位于不同的行:

Data on each row

我希望将数据合并为每个客户端的所有数据,如下所示:

Data all on one row

我已尝试使用交叉表查询进行此操作,但我不想对任何字段求和,而且每个产品都有多个数据点(类型、名称、购买日期等)。

非常感谢任何帮助!

解决方法

不是一个非常实用的数据展示,但它是可能的。需要一个唯一标识符字段 - 自动编号应该服务 - 我称之为 RID。考虑:

查询 1:

SELECT RID,ID,FirstName,LastName,Dept,ProductType AS Data,"PT" AS Cat FROM Table1
UNION SELECT RID,ProductName,"PN" FROM Table1
UNION SELECT RID,PurchaseDate,"PD" FROM Table1
UNION SELECT RID,PurchaseCost,"PC" FROM Table1
UNION SELECT RID,DeliveryDate,"DD" FROM Table1;

查询 2:

TRANSFORM First(Query1.Data) AS FirstOfData
SELECT Query1.ID,Query1.FirstName,Query1.LastName,Query1.Dept
FROM Query1
GROUP BY Query1.ID,Query1.Dept
PIVOT DCount("*","Query1","ID=" & [ID] & " AND Cat='" & [Cat] & "' AND RID<" & [RID])+1 & [Cat];

但是,有 255 个字段的限制,因此可能会有更多的数据无法处理。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。