【问题标题】:Power BI - How to create another table from original sourcePower BI - 如何从原始源创建另一个表
【发布时间】:2020-07-22 17:00:46
【问题描述】:

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

这是原始数据。

这就是我想要达到的目标。我想删除“代码”列,但同时还要汇总其他列(呼叫、无效)和不同的列(日期、名称、连接类型)。

电源查询上可以这样吗?!

【问题讨论】:

    标签: powerbi powerquery


    【解决方案1】:

    当然可以。以下是如何在 Power Query 中执行此操作的示例 M 代码:

    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 将对指定列(DateNameConnection TypeCountry)上的数据进行分组并聚合数据,在此求和案例(CallsInvalid)。

    您只能使用 UI 来执行此操作。在 Power Query 编辑器中,右键单击 Code 列的标题并选择 Remove。然后从Transform标签点击最左边的按钮Group By并填写如下:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-21
      • 1970-01-01
      • 2020-07-01
      • 2019-11-12
      • 1970-01-01
      • 2023-02-08
      相关资源
      最近更新 更多