DAX 相对上月、上季度、上年计算

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

我需要为 DimMerchant 中的 MerchantName 上个月、过去 3 个月和给定相对日期的去年的不同计数创建 3 个度量。

示例:

对于 DateValue = 4/1/2024(日期类型 MMddyyyy)

LM:2024 年 3 月 1 日的商户数量

L3M:3/1/2024、2/1/2024 和 1/1/2024 的商户数量

LY:2024年3月1日至2024年4月1日期间的商户数量

enter image description here

MerchantInternal# 措施(当前尝试):

CALCULATE(
    DISTINCTCOUNTNOBLANK('DimMerchant'[MerchantName]),
    FactTransaction
)

表关系:

  • 商户一对多到 MerchantName 上的 FactTransaction
  • DimDate 一对多到 DatePK 上的 FactTransaction

enter image description here

用于测试的数据输入示例:

  1. DimDate(DatePK 上的一对多到 FactTransaction)
日期PK 日期值 年份
20230901 2023 年 9 月 1 日 2023 9
20231001 2023 年 10 月 1 日 2023 10
20231101 2023 年 11 月 1 日 2023 11
20231201 2023 年 12 月 1 日 2023 12
20240101 2024 年 1 月 1 日 2024 1
20240201 2024 年 2 月 1 日 2024 2
20240301 2024 年 3 月 1 日 2024 3
20240401 2024 年 4 月 1 日 2024 4
20240501 2024 年 5 月 1 日 2024 5
  1. DimMerchant(MerchantHK 上的一对多 FactTransaction)
商户香港 商户名称
AAA NAAA
AAA NAAA
BBB NBBB
DD NDDD
BBB NBBB
DD NDDD
CCC MCCC
DD MDDD
BBB MBBB
  1. FactTransaction(DimDate 和 DimMerchant 有关系的主事实表)
日期PK 商户香港
20230901 AAA
20231001 AAA
20231101 BBB
20231201 DD
20240101 BBB
20240201 DD
20240301 CCC
20240401 DD
20240501 BBB
powerbi dax daxstudio
1个回答
0
投票

请查看 DAX 时间智能功能

以下是您的措施的示例:

// base measure
# Merchant =
  CALCULATE(
    DISTINCTCOUNTNOBLANK(DimMerchant[MerchantHK]),
    FactTransaction
  )

// Last Month or Previous Month
# Merchant LM = CALCULATE([# Merchant], PREVIOUSMONTH(DimDate[DateValue]))

// Last 3 months (not including current selected month)
# Merchant L3M =
  CALCULATE(
    [# Merchant],
    DATESINPERIOD(DimDate[DateValue], MAX(DimDate[DateValue]) - 1, -3, MONTH)
  )

// Last 12 months (not including current selected month)
# Merchant LY =
  CALCULATE(
    [# Merchant],
    DATESINPERIOD(DimDate[DateValue], MAX(DimDate[DateValue]) - 1, -12, MONTH)
  )
© www.soinside.com 2019 - 2024. All rights reserved.