powerbi - Power BI - 如何从原始源创建另一个表
问题描述
我编写了一个将数据拉入 Power BI 的查询。我想知道是否可以创建另一个查询,该查询在没有某些列的情况下提取原始数据。我知道我可以删除一列,但我想知道是否可以删除一列并聚合其他列。我想从后端(PowerQuery)执行此操作。我知道我可以在不包含其他列的情况下创建另一个查询,但由于这是实时数据,我需要从原始查询中提取数据。
这是原始数据。
这就是我想要达到的目标。我想删除“代码”列,但同时还要聚合其他列(呼叫、无效)和不同的列(日期、名称、连接类型)。
这在电源查询上可能吗?!
解决方案
当然这是可能的。以下是如何在 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
数据分组到指定列(Date
、Name
和)Connection Type
并Country
聚合数据,在这种情况下求和(Calls
和Invalid
)。
您只能使用 UI 来执行此操作。在 Power Query 编辑器中,右键单击Code
列的标题并选择Remove
。然后从Transform
选项卡单击最左边的按钮Group By
并填写如下:
推荐阅读
- css - 全屏覆盖问题
- html - 如何在css中制作具有阴影效果的平行四边形结构
- ios - 如何在cloudkit上存储数据
- ios - 登录 Facebook FBSDK 输入错误代码:Swift 4.2 中的 308
- batch-file - 从 VBScript 运行批处理文件:找不到指定的文件(错误 80070002)
- three.js - 三点问题;不透明度、大小和旋转
- python - 自定义评分函数 GridsearchCV
- matlab - Matlab:已知信号的信噪比
- rethinkdb - 将对象值从对象移动到 RethinkDB 中的数组
- html - 什么是解决像素上的网络浏览器渲染问题的好方法(响应式)