DAX 查询:按日期计算值的增量增长

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

您好,希望有人可以帮我解决这个 Dax 查询,在现有表中创建一个新的计算值列。我正在尝试添加一个新列,该列的每一行显示 CustomerName 和 ProductName 的每个唯一组合的使用量随时间的增量增长。

客户姓名 产品名称 使用方法 日期
客户A 服务A 2570 2023-06-01
客户A 服务A 2539 2023-07-01
客户A 服务A 2579 2023-08-01
客户A 服务A 2581 2023-09-01
客户B 服务B 153 2023-06-01
客户B 服务B 406 2023-07-01
客户B 服务B 603 2023-08-01
客户B 服务C 15 2023-06-01
客户B 服务C 16 2023-07-01
客户B 服务C 13 2023-08-01

我尝试了以下 Dax 查询,但它没有正确计算增长。

Calc_IncGrowthOverTime = 
VAR CurrentCustName = [CustomerName]
VAR CurrentWorkLoad = [WorkloadName]
VAR EarliestDate = CALCULATE(MIN('Table1'[Date]), ALL('Table1'), 'Table1'[CustomerName] = CurrentCustName, 'Table1'[WorkloadName] = CurrentWorkLoad)
VAR SoYValue = CALCULATE(MIN('Table1'[Usage]), 'Table1'[Date] = EarliestDate, 'Table1'[CustomerName] = CurrentCustName, 'Table1'[WorkloadName] = CurrentWorkLoad)
RETURN
[Usage] - SoYValue

对于不是 CustomerName 和 ProductName 组合的最早日期的行,它会将 SoYValue 计算为零,因此无法正确计算增长。

我希望它返回的是......

powerbi dax data-analysis powerbi-desktop calculated-columns
1个回答
0
投票
Growth = 
VAR x = CALCULATE(MIN('Table'[Date]), ALLEXCEPT('Table', 'Table'[CustomerName], 'Table'[ProductName]))
VAR y = CALCULATE(MIN('Table'[Usage]), ALLEXCEPT('Table', 'Table'[CustomerName], 'Table'[ProductName]), 'Table'[Date] = x)
RETURN 'Table'[Usage] - y

© www.soinside.com 2019 - 2024. All rights reserved.