2018 84号建设厅网站,哪有那样的网站,百度提交网站入口网址,工程公司安全考试实例需求#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],Part1 Table.CombineColumnsToRecord(Source, Part1Rec, {Att1, Att3, Att5}, [DisplayNameColumnAtt1, TypeNameCmbCol]),Part2 Table.CombineColumnsToRecord(Part1, Part2Rec, {Att2, Att4, Att6}, [DisplayNameColumnAtt2, TypeNameCmbCol]),AddTable Table.AddColumn(Part2, NewTab, each Table.FromRows({Record.FieldValues([Part1Rec]), Record.FieldValues([Part2Rec])})),RemovedRec Table.RemoveColumns(AddTable,{Part1Rec, Part2Rec}),Output Table.ExpandTableColumn(RemovedRec, NewTab, {Column1, Column2, Column3}, {cn1, cn2, cn3})
inOutput代码解析: 第2行代码加载源表格表格名称为Table1。 第3行代码使用Power Query函数Table.CombineColumnsToRecord将Att1、“Att3和Att5合并为一个记录并设置显示名称为Att1”。 第4行代码与第3行代码类似合并Att2、“Att4和Att6”。 第5~8行代码使用Table.AddColumn函数创建一个新列NewTab其中包含两个记录Part1Rec和Part2Rec的表格。 第9行代码使用Table.RemoveColumns函数移除不再需要的Part1Rec和Part2Rec列。 第10行代码使用Table.ExpandTableColumn函数展开NewTab列以获取分列展示的属性值并设置列名为cn1、“cn2和cn3”。
转换结果如下图所示。 总结 使用Power Query函数和操作步骤来实现了将原始表格列数据按照指定规则转换成分列展示的目标格式使用Table.CombineColumnsToRecord可将多列数据合并到一个记录中。