DAX 衡量每月价格变化的指标

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

enter image description here

我正在研究交易数据和产品价格变化,每月或每第二或第三个月有时会上涨或下跌。我尝试在 Excel 数据模型中编写 dax 度量,但结果不是我需要的。有人可以帮忙吗?这是我正在使用的数据。


DimkeyPartlistIndexEnd of MonthPriceCurrencyPrice Changerequired result

Dimkey  Partlist    Index   End of Month    Price   Currency    Price Change    required result
33299   Product0    0   2018-01-31  1.0839  USD 0.0016  0
33301   Product0    0   2018-02-28  1.0839  USD 0.0016  0
33297   Product0    0   2018-03-31  1.0839  USD 0.0016  0
33294   Product0    0   2018-04-30  1.0839  USD 0.0016  0
33295   Product0    0   2018-05-31  1.0839  USD 0.0016  0
33293   Product0    0   2018-06-30  1.0839  USD 0.0016  0
33296   Product0    0   2018-07-31  1.0839  USD 0.0016  0
33292   Product0    0   2018-08-31  1.0855  USD 0.0016  0.0016
33302   Product0    0   2018-09-30  1.0855  USD 0.0016  0
33300   Product0    0   2018-10-31  1.0855  USD 0.0016  0
33303   Product0    0   2018-11-30  1.0855  USD 0.0016  0
33298   Product0    0   2018-12-31  1.0855  USD 0.0016  0
31746   Product1    1   2018-01-31  7.96    USD 0.36    0
31745   Product1    1   2018-02-28  7.96    USD 0.36    0
31748   Product1    1   2018-03-31  7.96    USD 0.36    0
31752   Product1    1   2018-04-30  8.06    USD 0.36    0.1
31751   Product1    1   2018-05-31  8.06    USD 0.36    0
31754   Product1    1   2018-06-30  8.32    USD 0.36    0.26
31747   Product1    1   2018-07-31  8.32    USD 0.36    0
31744   Product1    1   2018-08-31  8.32    USD 0.36    0
31753   Product1    1   2018-09-30  8.32    USD 0.36    0
31743   Product1    1   2018-10-31  8.24    USD 0.36    -0.08
31750   Product1    1   2018-11-30  8.24    USD 0.36    0
31749   Product1    1   2018-12-31  8.09    USD 0.36    -0.15

当前 DAX 指标:

Monthly Price Change:=VAR MaxDate = MAX(PriceChange[End of Month])
VAR MinDate = MIN(PriceChange[End of Month])
VAR MaxPrice = CALCULATE(MAX(PriceChange[PO Price]), ALLEXCEPT(PriceChange, PriceChange[Partlist]))
VAR MinPrice = CALCULATE(MIN(PriceChange[PO Price]), ALLEXCEPT(PriceChange, PriceChange[Partlist]))
RETURN
IF(ISBLANK(MaxPrice) || ISBLANK(MinPrice), BLANK(), MaxPrice - MinPrice)

价格发生变化的地方:根据日期栏需要计算价差

DAX 指标的价格变化结果(以上 DAX 指标的当前结果)

所需结果列(此时硬编码):我正在使用 Dax 度量寻找的结果。

提前感谢您的帮助。

我正在尝试计算从上个月开始的每月价格变化。如果价格从上个月到当前月份没有变化,则结果应为 0,否则显示价格变化的差异。我正在使用 Excel 数据节点来完成此任务。数据来自事务表。

excel dax data-modeling
1个回答
0
投票

尝试以下方法:

Monthly Price Change=
VAR CurrentDate = MAX(PriceChange[End of Month])
VAR CurrentPart = MAX(PriceChange[Partlist])
VAR CurrentMonthPrice = 
    CALCULATE(
        MAX(PriceChange[PO Price]),
        PriceChange[End of Month] = CurrentDate,
        PriceChange[Partlist] = CurrentPart
    )
VAR PreviousMonthPrice = 
    CALCULATE(
        MAX(PriceChange[PO Price]),
        PriceChange[End of Month] = EOMONTH(CurrentDate, -1),
        PriceChange[Partlist] = CurrentPart
    )
RETURN
IF(ISBLANK(CurrentMonthPrice) || ISBLANK(PreviousMonthPrice), 
    BLANK(),
    CurrentMonthPrice - PreviousMonthPrice
)
© www.soinside.com 2019 - 2024. All rights reserved.