PowerBi创建一个具有两个不同日期和位置之间差异的列

时间:2019-05-16 10:27:56

标签: powerbi dax

我遇到一个问题,我想要一个列来显示月份之间的差异,但只显示不同的位置。我在下面有一个示例,其中有三个具有不同日期记录的位置。我已经手动输入了差异。

enter image description here

通常这只是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 

谢谢

1 个答案:

答案 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
    )

希望这会有所帮助。