Power BI-如何从原始来源创建另一个表

时间:2020-07-22 17:00:46

标签: powerbi powerquery

我写了一个查询,将数据提取到Power BI中。我想知道是否可以创建另一个查询,以获取没有某些列的原始数据。我知道我可以删除列,但是我想知道是否可以删除列并聚合其他列。我想从后端(PowerQuery)执行此操作。我知道我可以创建另一个查询而不包含其他列,但是由于这是实时数据,因此我需要从原始查询中提取数据。

这是原始数据。

enter image description here

这就是我要实现的目标。我要删除“代码”列,但要聚合其他列(“呼叫”,“无效”)和不同的列(“日期”,“名称”,“连接类型”)。

enter image description here

功率查询有可能吗?!

1 个答案:

答案 0 :(得分:1)

当然可以。这是一个示例M代码,如何在Power Query中做到这一点:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("ndKxCoMwEAbgd8ksohdN5y527VDoIA5BQwnYCufSx28oKZHmzqQdJEL4uPvv0vcCoDyUUEElCnExT726s3bf1aKZ3Hm8G7Sjdn/yfTMUtAHSNKQ5mQVvVrOV2oT6r5b0ajbrmlHurNF+B+tQP0bj++aJzCfdvKCdtqGi9iAB2Vz0wgJsyDFu+qz5pxEV22dsuH0myQ4lacKi2x9yBaVIBaSKt5bTYbwy9tmT6pMrGqJKQMVBP5PhBQ==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Date = _t, Name = _t, Code = _t, #"Connection Type" = _t, Country = _t, Calls = _t, Invalid = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Date", type date}, {"Name", type text}, {"Code", type text}, {"Connection Type", type text}, {"Country", type text}, {"Calls", Int64.Type}, {"Invalid", Int64.Type}}),
    #"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"Code"}),
    #"Grouped Rows" = Table.Group(#"Removed Columns", {"Date", "Name", "Connection Type", "Country"}, {{"Calls", each List.Sum([Calls]), type text}, {"Invalid", each List.Sum([Invalid]), type text}})
in
    #"Grouped Rows"

Table.RemoveColumns将删除Code列,而Table.Group将对指定列({{1},DateNameConnection Type)并汇总数据(在这种情况下为CountryCalls)。

您只能使用UI来执行此操作。在Power Query Editor中,右键单击Invalid列的标题,然后选择Code。然后从Remove标签中,单击最左侧的按钮Transform并按如下所示进行填充:

enter image description here