Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果当前月份值不可用,PowerBi会将卡值更改为上一个月的值_Powerbi_Dax_Powerquery_M - Fatal编程技术网

如果当前月份值不可用,PowerBi会将卡值更改为上一个月的值

如果当前月份值不可用,PowerBi会将卡值更改为上一个月的值,powerbi,dax,powerquery,m,Powerbi,Dax,Powerquery,M,我在powerbi上工作,在2个月内使用数据,编写dax查询并尝试构建报告 我试图用卡片的视觉效果来显示每月的价值 我可以用下面的方法来做 样本数据:- CustomKPI=IF(ISBLANK([PlanSum])、“无可用数据”、[PlanSum])和“&IF([PlanSum]=[planprovmon]、”、IF([PlanSum]>[planprovmon]、UNICHAR(8679)、UNICHAR(8681))&IF([PlanSum]这有帮助吗 为了让PlanPrevMon列显

我在powerbi上工作,在2个月内使用数据,编写dax查询并尝试构建报告

我试图用卡片的视觉效果来显示每月的价值

我可以用下面的方法来做

样本数据:-

CustomKPI=IF(ISBLANK([PlanSum])、“无可用数据”、[PlanSum])和“&IF([PlanSum]=[planprovmon]、”、IF([PlanSum]>[planprovmon]、UNICHAR(8679)、UNICHAR(8681))&IF([PlanSum]这有帮助吗

为了让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])))
我希望这有帮助。

您可以使用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 
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