2017-05-13 88 views
3

我正在研究powerbi,使用2個月內的數據,編寫dax查詢並嘗試構建報告。PowerBi將卡片值更改爲上個月如果當前月份值不可用,則返回值

我想顯示卡片視覺效果的月度值。

而且我能夠使用下面的度量來做到這一點。

樣本數據: - enter image description here

PlanPrevMon = CALCULATE([PlanSum],PREVIOUSMONTH('Month Year'[Date])) 

CustomKPI = IF(ISBLANK([PlanSum]),"No Data Available ",[PlanSum])&" "&IF([PlanSum]=[PlanPrevMon],"",IF([PlanSum] > [PlanPrevMon],UNICHAR(8679),UNICHAR(8681))&IF([PlanSum]<=0,"",""))

但在這裏我不希望用戶從切片機選擇月份數值。 我想顯示卡值 如果下面

enter image description here

例如顯示的圖像的當月值不可用,那麼它應該與上月值自動比較,四月,2017年值不可用;在這種情況下,我希望它與2017年3月的價值進行比較。 如果三月-2017也值不可用,則比上月值等


編輯

我試了一下@ user5226582建議,但仍然得到錯誤的值如下圖像。

enter image description here

正如你可以看到我限制在交叉檢查中的不正確的方式的值是否得到。

但是不是。

這是我用作@ user5226582建議的度量。

c = 
var temp = 'Revenue Report'[Date] 
return CALCULATE(LASTNONBLANK('Revenue Report'[Planned Rev], 
    'Revenue Report'[Planned Rev]), 
    ALL('Revenue Report'), 
    'Revenue Report'[Date]<=temp)` 

能否請您糾正我,如果我做錯什麼

+0

什麼叫 「比較」 是什麼意思? – user5226582

+0

我的意思是說,它檢查與上個月的價值。如果它是可用的,那麼如果它大於然後顯示大於或小於。 如果上個月的價值不可用,那麼它應該檢查上個月的價值。 – Bunny

回答

1

這是否幫助...?

enter image description here

爲了讓PlanPrevMon欄,顯示這個樣子,我首先創建一個新的索引列:

id = COUNTROWS(FILTER(Sheet1, EARLIER(Sheet1[Date],1)>Sheet1[Date])) 

然後我用的指標,以幫助在兩個步驟創建PlanPrevMon列

步驟1:我做了一列名爲PlanPrevMon1。

PlanPrevMon1 = SUMX(FILTER(Sheet1,Sheet1[id]=EARLIER(Sheet1[id])-1),Sheet1[PlanSum]) 

步驟2:我做了一個名爲PlanPrevMon另一列。

PlanPrevMon = if(ISBLANK(Sheet1[PlanPrevMon1]), 
if(Sheet1[id]=1,0,CALCULATE(LASTNONBLANK(Sheet1[PlanPrevMon1],Sheet1[PlanPrevMon1]),ALL(Sheet1),ISBLANK(Sheet1[PlanSum]))), 
Sheet1[PlanPrevMon1]) 

對於卡,我用這個措施:

Card = CALCULATE(LASTNONBLANK(Sheet1[PlanPrevMon],1),FILTER(Sheet1,Sheet1[id]=max(Sheet1[id]))) 

希望這會有所幫助。

0

您可以使用LASTNONBLANK DAX功能。

示例數據:

a b 
1 1 
2 
3 2 
4 
5 3 

計算列:在

c = 
var temp = Table1[a] 
return CALCULATE(LASTNONBLANK(Table1[b],Table1[b]),ALL(Table1),Table1[a]<=temp) 

結果:

a b c 
1 1 1 
2 1 
3 2 2 
4 2 
5 3 3 
+0

我無法發佈您所建議的圖片的度量輸出,所以 我寫過另一個答案。請看看 – Bunny

相關問題