【问题标题】:Apply condition in Power Query (Filter earliest date based on each Consol ID) - PowerBI在 Power Query 中应用条件(根据每个 Consol ID 筛选最早日期) - PowerBI
【发布时间】:2021-08-14 16:19:50
【问题描述】:

我想在 Power BI Power Query 中进行数据清理时应用一些条件。

PowerBI- Power Query

每个 CONSOL ID 只需要一个日期记录

Conditions

美国东部时间 (DD/MM/YYYY)

条件如下:

i.) 当 CONSOL ID 有可用日期时,不应选择“Null”日期作为最早日期。

例如:日期为 '1/1/2021' 的 C001 应选择为最早日期,但 C002 没有其他可用日期。在这种情况下,可以选择“Null”。

ii.) 如果 CONSOL ID 的运输模式很少(SEA 或 AIR ,RAI,ROA),则仅优先考虑“SEA”或“AIR”运输模式的最早日期。

例如:在 C003 中,即使是最早的日期也是 2021 年 1 月 1 日,但我们只关注运输方式为“SEA”或“AIR”的日期。所以 C003 的最早日期是 2021 年 1 月 3 日,而 C004 是 2021 年 1 月 6 日。

iii.) 如果只有一种运输方式(不管是 RAI 还是 ROA),将选择最早的日期。

例如:C005 和 C006 的“1/1/2021”。

这里附上pbix:https://ufile.io/twdwgzh8

感谢您的关注。

您能提供的任何帮助将不胜感激!

【问题讨论】:

    标签: powerbi powerquery


    【解决方案1】:

    你可以在下面试试这个测量

    earliest = 
    
    var current_row_consolid = min(your_table_name[ConsolID])
    var current_row_transport = min(your_table_name[Transport])
    
    var earliest_sea_air =
    CALCULATE(
        min(your_table_name[ETD]),
        FILTER(
            ALLEXCEPT(your_table_name,your_table_name[ConsolID]),
            your_table_name[Transport] = "SEA" || your_table_name[Transport] = "AIR"
        )
    )
    
    var earliest_others =
    CALCULATE(
        min(your_table_name[ETD]),
        FILTER(
            ALLEXCEPT(your_table_name,your_table_name[ConsolID]),
            your_table_name[Transport] <> "SEA" && your_table_name[Transport] <> "AIR"
        )
    )
    
    return
    if(
        ISBLANK(earliest_sea_air),
        earliest_others,
        earliest_sea_air
    )
    

    这是最终的输出-

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-26
      • 2020-11-19
      相关资源
      最近更新 更多