篡改 网站 支付接口,关于营销的最新的新闻,秦皇岛汽车网站制作,网络规划设计师如何复习实例需求#xff1a;原始表格包含多列属性数据,现在需要将不同属性分列展示在不同的行中#xff0c;att1、att3、att5为一组#xff0c;att2、att3、att6为另一组#xff0c;数据如下所示。
更新表格数据
原始数据表#xff1a;
Col1Col2Att1Att2Att3Att4Att5Att6AAADD…实例需求原始表格包含多列属性数据,现在需要将不同属性分列展示在不同的行中att1、att3、att5为一组att2、att3、att6为另一组数据如下所示。
更新表格数据
原始数据表
Col1Col2Att1Att2Att3Att4Att5Att6AAADDDXOalphadelta100400BBBEEEYPbetavega200500
结果数据表
Col1Col2cn1cn3cn3AAADDDXalpha100AAADDDOdelta400BBBEEEYbeta200BBBEEEPvega500
示例代码
letSource Excel.CurrentWorkbook(){[NameTable1]}[Content],ChangedType Table.TransformColumnTypes(Source,{{Att1, type text}, {Att2, type text}, {Att3, type text}, {Att4, type text}, {Att5, type text}, {Att6, type text}}),MergedPart1 Table.CombineColumns(ChangedType,{Att1, Att3, Att5},Combiner.CombineTextByDelimiter(,, QuoteStyle.None),Part1),MergedPart2 Table.CombineColumns(MergedPart1,{Att2, Att4, Att6},Combiner.CombineTextByDelimiter(,, QuoteStyle.None),Part2),UnpivotedOtherCol Table.UnpivotOtherColumns(MergedPart2, {Col2, Col1}, Attribute, Value),RemovedColumns Table.RemoveColumns(UnpivotedOtherCol,{Attribute}),Output Table.SplitColumn(RemovedColumns, Value, Splitter.SplitTextByDelimiter(,, QuoteStyle.Csv), {cn1, cn2, cn3})
inOutput 代码解析: 第2行代码加载源表格表格名称为Table1。 第3行代码使用Table.TransformColumnTypes函数将属性列的数据类型更改为文本类型。 第4行代码使用Table.CombineColumns函数将Att1、“Att3和Att5合并为一个列Part1”用逗号分隔。
使用Table.AddColumn函数也可以增加一列Part1其值为Att1、Att3和Att5的合并结果与第4行代码的区别在于此代码并不能删除被合并的3列。 Table.AddColumn(ChangedType, Part1, each [Att1] , [Att3] , [Att5])第5行代码使用Table.CombineColumns函数将Att2、“Att4和Att6合并为一个列Part2”同样用逗号分隔。 第6行代码使用Table.UnpivotOtherColumns函数保留Col2和Col1列将其他列转换成Attribute和Value列。 第7行代码使用Table.RemoveColumns函数移除不再需要的Attribute列。 第8行代码使用Table.SplitColumn函数按逗号分隔Value列分为cn1、cn2和cn3三列。
转换结果如下图所示。 总结 使用Power Query函数和操作步骤来实现了将原始表格列数据按照指定规则转换成分列展示的目标格式使用Table.CombineColumnsToRecord可将多列数据合并到一个记录中。