按月计算栏确定首次出现的记录。

问题描述 投票:0回答:1

我有一个需求,我需要创建一个计算列,并按月确定记录的首次出现。

下面是样本数据。该数据每月都有重复的值。

ID   MONTH
AA   Jan-01
AA   Jan-02
BB   Feb-10
BB   Feb-20

预期的输出。

ID  Month   out    
AA  Jan-01   1
AA  Jan-02   0
BB  Feb-10   1
BB  Feb-20   0

注:如果我使用powerquery来删除重复的值,我可以实现这个目标。但我需要在计算列中实现这个目标。

powerbi dax calculated-columns
1个回答
1
投票

要解决这个问题,你可以做以下工作。

  1. 从你的日期中计算出一个 "年月 "列(或两个独立的列,"年 "和 "月")。
  2. 复制或引用您当前的查询
  3. 在这个克隆中使用组由(在变换选项卡中)。
    • 使用高级部分并按ID和年月分组
    • 计算 "日期 "的最小值(我们称这个col为DateKey)。
  4. 这将产生一个按ID和年-月以及最小日期(第一次出现)排列的表。
  5. 通过ID和DateKey连接(合并查询)原表和汇总表。
  6. 要创建你的自定义列 "出来",你有几个选项。
    • 在汇总表中创建一个静态列,其值始终为1,并将其添加到连接中。
    • 在加入后创建一个列,它检查加入表中的任何一列是否有值或为空,并设置一个值,M公式如下Table.AddColumn(#"Expanded Table (2)", "out", each if [#"AggregatedTable.id"] = null then 0 else 1, type number)
© www.soinside.com 2019 - 2024. All rights reserved.