我遇到一个问题,我想要一个列来显示月份之间的差异,但只显示不同的位置。我在下面有一个示例,其中有三个具有不同日期记录的位置。我已经手动输入了差异。
通常这只是if语句if(位置==相同)然后n1-n2。
有人知道如何在dax或查询编辑器中做到这一点。
Date Location numbers difference
07/02/2019 berlin 58047 0.00
27/03/2019 berlin 81086 23039.00
30/03/2019 berlin 21400 -59686.00
31/03/2019 berlin 77289 55889.00
01/01/2019 london 51101 0.00
01/02/2019 london 27815 -23286.00
10/03/2019 london 62659 34844.00
14/03/2019 london 49617 -13042.00
22/03/2019 london 53744 4127.00
24/04/2019 london 50337 -3407.00
22/01/2019 Paris 74002 0.00
02/02/2019 Paris 76931 2929.00
13/03/2019 Paris 62430 -14501.00
16/03/2019 paris 76002 13572.00
21/03/2019 paris 71528 -4474.00
26/04/2019 Paris 12577 -58951.00
谢谢
答案 0 :(得分:0)
您只需要将表过滤到当前位置并找到前1个值(按日期降序排列),计算出的列应为:
Difference =
VAR CurrentLocation = test[ Location]
VAR CurrentDate = test[Date]
VAR CurrentNumber = test[ numbers]
VAR LastValue =
SUMX(
TOPN(
1,
FILTER (
ALL(test),
test[ Location] = CurrentLocation &&
test[Date] < CurrentDate
),
test[Date], DESC
),
test[ numbers]
)
VAR Difference = CurrentNumber - LastValue
RETURN
IF(
ISBLANK(LastValue),
0,
Difference
)
希望这会有所帮助。