excel - 具有唯一 ID 和扩展列的 Power Query 转换数据集
问题描述
开门见山:
我需要使用电源查询编辑器(M 语言)将数据集(来自 CSV 文件的源)转换为 Excel 中的新表。下面示例中的产品代码应该是唯一的,并且对于每个 URL 都应该有一个新列,列的名称可以是“1-x”或“列 1-x”,没关系。只要“IsDefault”.value = 1,那么它应该去第一列,对于0值,没关系(也许从上到下会很完美)。
资源:
ProductCode,URL,IsDefault
1,a,1
2,b,1
2,c,0
3,d,0
2,e,0
3,f,1
目标:
ProductCode,column1,column2,column3
1,a,null,null,null
2,b,c,e
3,f,d,null,null
我已经实现了对它们进行分组的计数,但是我不知道如何从最大值中添加列数,然后如何将其转换为新表。
let
Quelle = Csv.Document(File.Contents("C:\Users\name\Desktop\cat-images-test.csv"),[Delimiter=",", Columns=3, Encoding=1252, QuoteStyle=QuoteStyle.None]),
#"Höher gestufte Header" = Table.PromoteHeaders(Quelle, [PromoteAllScalars=true]),
#"Gruppierte Zeilen" = Table.Group(#"Höher gestufte Header", {"ProductCode"}, {{"Anzahl", each Table.RowCount(Table.Distinct(_)), Int64.Type}})
in
#"Gruppierte Zeilen"
此代码计算我需要插入多少列,它是“Anzahl”列的最大值。其他线程上没有这种情况,我的 M 语言不是很好。
谢谢您的帮助。
解决方案
对 ProductCode 上的列进行分组,为 URL 聚合选择 All Rows。这将为您提供一个新列,其中每行都有一个表格(我称之为 URL)。现在使用公式添加一个自定义列:
=Table.Column([URLs], "URL")
这将为每一行生成列表。单击新列表列右上角的小按钮并选择提取值,并指定逗号分隔符。然后,您可以在逗号上拆分此新列以创建新列以获得所需的结果。
推荐阅读
- jsf - f:setPropertyActionListener 没有在 JSF 中调用目标
- java - 下载excel生成的文件
- r - 使用坐标在地图上绘制点,颜色取决于它们的值
- php - Laravel - $request->input() 被修剪
- java - 在 VideoView 中播放视频时无法播放此视频错误
- scala - Scala 边界交叉点
- python-3.x - PySpark 将 UDF 应用于 collect_list 数组中的指数加权平均值
- android - Firebase 多查询瓶颈
- c# - 使用 LINQ 查询的表达式树构建 Any()
- python - 从 python3.6 转换 keras 模型。至 3.5