首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >电力查询-数据转换

电力查询-数据转换
EN

Stack Overflow用户
提问于 2021-08-21 10:01:04
回答 1查看 69关注 0票数 1

新的PowerBi和Power查询,并有一些困难的数据转换。

数据包含每个销售类别的流程,如果生产过程已经完成或没有完成,则为每个销售类别提供状态。需要一个具有三个计算列的新聚合表,该表返回以下日期:

进程进入table

  • Predicted结束日期,该日期定义为最后一个日期,流程显示在表

  • 实际结束日期中,该表定义为最后一个实例,进程状态等于“完成”

已经成功地返回了这三个日期,但是每个日期都在一个单独的行上,而不是与数据一起的一行。下面是原始数据和所需的输出。

输出表

如果能帮助转换这些数据,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2021-08-21 12:41:18

大多数情况下,您可以使用来完成:

Month/Category/Process

  • Aggregations: Date

  • Start date => Min of date
  • 估算(或预测)终止日期

但是,您需要一个自定义聚合,其中在状态列中筛选“完成”的子表后确定最大日期。

您可以在高级编辑器中直接编辑M代码。

M码

代码语言:javascript
复制
let
    Source = Excel.CurrentWorkbook(){[Name="Table3"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Date", type date}, {"Month", type date}, 
                            {"Category", type text}, {"Process", type text}, {"Status", type text}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"Month", "Category", "Process"}, {
        {"Start Date", each List.Min([Date]), type nullable date}, 
        {"Predicted End Date", each List.Max([Date]), type nullable date},

    //Custom aggregation to calculate Actual End Date
    //Note that we can Filter the table here, and then select the last date
        {"Actual End Date", each List.Max(Table.SelectRows(_, each [Status]= "Done")[Date]), type nullable date}        
        })
in
    #"Grouped Rows"

原始数据

结果

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68871976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档