2017-05-13 25 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

下の画像に示され、4月 - 2017年の値として自動的に前の月の値と比較すべきである としてカード値を表示したいと思い利用できません;このシナリオでは、Mar-2017の値と比較したいと思います。また、利用できない場合、前月の値と私は提案したが、静止画像以下のように間違った値を取得するもの@ user5226582みました


編集

上 場合は月 - 2017年値。あなたが見ることができるように

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

はこのヘルプをい...?私は2つのステップでPlanPrevMon列を作成するためのインデックスを使用すると

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

enter image description here

次のように表示するようにPlanPrevMon列を取得するには、私が最初に新しいインデックス列を作成しました:

ステップ1:PlanPrevMon1という名前の1つの列を作成しました。

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

ステップ2:私はPlanPrevMonという名前の別の列を作りました。

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

I 希望このことができます:カードの場合

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

は、私はこの指標を使用していました。

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

関連する問題