【问题标题】:Power BI - Pull data based of conditionPower BI - 根据条件提取数据
【发布时间】:2020-06-04 15:34:45
【问题描述】:

我想知道如何通过在 PowerQuery 中应用条件来提取某些数据。如果过去 5 天内有相同的名称,则条件是提取当前日期数据 (6/4)。原始数据如下。

所以它会返回以下内容:

6/4/2020 - Apple
6/4/2020 - Bear
6/3/2020 - Apple
6/2/2020 - Apple
6/2/2020 - Bear
5/31/2020 - Bear

这可能吗?

【问题讨论】:

    标签: powerbi powerquery m


    【解决方案1】:

    如果您通过定义来定义当前日期

    MaxDate = List.Max(#"Previous Step"[Date])
    

    然后你可以通过过滤找到那天的名字

    MaxDateNames = Table.SelectRows(#"Previous Step", each [Date] = MaxDate)[Name]
    

    你有足够的写一个组合条件:

    FilteredTable = Table.SelectRows(#"Previous Step",
         each [Date] > Date.AddDays(MaxDate, -5) and List.Contains(MaxDateNames, [Name]))
    

    整个查询如下所示:

    let
        Source = <Your Data Source>,
        #"Previous Step" = <Steps applied to Source>,
        MaxDate = List.Max(#"Previous Step"[Date]),
        MaxDateNames = Table.SelectRows(#"Previous Step", each [Date] = MaxDate)[Name],
        FilteredTable = Table.SelectRows(#"Previous Step", each [Date] > Date.AddDays(MaxDate, -5) and List.Contains(MaxDateNames, [Name]))
    in
        FilteredTable
    

    【讨论】:

    • 是否有可能如果一个名字不出现多次,我们可以在桌子上没有显示名字的地方做吗?
    • 可能。我不太确定你在问什么,但这听起来像是一个单独的问题。
    • 我在另一个数据集上使用了这个逻辑,现在它显示的是当天的名称,但过去 5 天内不存在相同的名称。如果它只出现一次,我如何让数据不显示。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-25
    • 2022-11-14
    • 1970-01-01
    • 2021-09-22
    • 1970-01-01
    相关资源
    最近更新 更多