从表中的查询编辑器中添加新列
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从表中的查询编辑器中添加新列相关的知识,希望对你有一定的参考价值。
我是PowerBI部分的新手,我需要一些帮助。
到目前为止,我所做的是从两张桌子中合并查询,现在我得到了一张新的库存“ROUTE DATA”(如下图所示)
并在每一行theres表(我打开其中一个表,你可以在图片中看到)
所以我不知道如何为表中的每一行的每个ID创建一个新列。就像你可以在图片中看到的那样(我添加的红细胞)。
谢谢Daniel。
编辑星期日6/10/18:@Marc Pincince Marc非常感谢你!所以问题现在是具有空值的单元格:我对你的帖子的评论:(你好马克。再次谢谢你!所以我试着按照你的指示进行操作,最后一个工作效果不好。我会添加一张图片告诉你什么错了,但我不能把图片添加到这里,所以我会把它们添加到主帖抱歉打扰你。问题是所有“空”单元格。我可以删除它们并只获取数据吗?image.ibb.co /cHncHo/Capture.png和image.ibb.co/c4prco/Capture1.png)
---首先出现原始答案,然后是基于讨论的更新版本---
这是一种可行的方法......
执行@Alexis建议的操作:单击ROUTE DATA列右上角的展开图标,然后选择展开所有列(Select All Columns)并单击OK:
是的,您会看到所有四行都展开了:
现在,选择ROUTE NAME,START TIME和COMPLETE TIME列,然后单击Transform选项卡,然后单击Unpivot Columns下拉箭头和Unpivot Only Selected Columns:
你会看到这样的事情:
现在,通过单击“添加列”选项卡和“索引列”添加索引列。索引应该从零开始,看起来像这样。
现在添加一个模数。您可以通过选择索引列并单击“添加列”选项卡,然后单击“标准”,然后单击“模数”,然后键入3
并单击“确定”来执行此操作。
你应该看到这样的东西:
现在单击“添加列”选项卡,然后单击“自定义列”,添加自定义列;只需将列名保持为Custom
,在公式框中键入[Attribute] & " " & Text.From(([Index]-[Modulo])/3)
,然后单击“确定”。这会创建唯一的列名称,您需要立即使用新列:
通过选择所有列,然后选择“主页”选项卡,然后选择“删除列”,删除“属性”,“索引”和“模块”列。
现在选择Custom列,然后单击Transform选项卡,然后单击Pivot Column:
然后为Values Column条目选择Value,单击Advanced options,然后单击下拉箭头以选择Do not Aggregate,并单击OK。你应该看到这样的东西:
这是高级编辑器的M代码:
let
Source = QuerySource,
#"Expanded Custom" = Table.ExpandTableColumn(Source, "ROUTE DATA", {"UTID", "ROUTE NAME", "START TIME", "COMPLETE TIME"}, {"UTID", "ROUTE NAME", "START TIME", "COMPLETE TIME"}),
#"Unpivoted Only Selected Columns" = Table.Unpivot(#"Expanded Custom", {"ROUTE NAME", "START TIME", "COMPLETE TIME"}, "Attribute", "Value"),
#"Added Index" = Table.AddIndexColumn(#"Unpivoted Only Selected Columns", "Index", 0, 1),
#"Inserted Modulo" = Table.AddColumn(#"Added Index", "Modulo", each Number.Mod([Index], 3), type number),
#"Added Custom1" = Table.AddColumn(#"Inserted Modulo", "Custom", each [Attribute] & " " & Text.From(([Index]-[Modulo])/3)),
#"Removed Columns" = Table.RemoveColumns(#"Added Custom1",{"Attribute", "Index", "Modulo"}),
#"Pivoted Column" = Table.Pivot(#"Removed Columns", List.Distinct(#"Removed Columns"[Custom]), "Custom", "Value")
in
#"Pivoted Column"
---更新每次讨论---
并将其扩展到......
选择ROUTE NAME,START TIME和COMPLETE TIME列,然后单击Transform选项卡,然后单击Unpivot Columns下拉箭头和Unvivot Only Selected Columns,如前所示:
现在,选择UTID列,然后选择Transform选项卡,然后选择Group by,并设置如下对话框,然后单击OK:
你会看到这样的事情:
单击添加列选项卡,然后单击自定义列并将其设置如下:
然后展开新的自定义列以查看如下内容:
然后添加另一个自定义列(添加列选项卡>自定义列)设置如下:
你应该看到这样的东西:
展开Custom.1列中的记录。它应该看起来像这样:
单击Custom列,然后单击Add Column选项卡和Standard按钮的下拉箭头,选择Modulo。键入3
并单击“确定”。你会看到这样的事情: