Powerbi 同比差异计算错误“;“较早/最早”;指先前的行上下文,该行上下文不';不存在
在尝试计算年与年的差异时(现在有两天未成功),我收到以下错误消息 早期/早期指的是不存在的早期行上下文 在一个不同的SO问题中,有一种不同的方法给了我以下错误: 调用函数“SAMEPERIODLASTYEAR”时指定的列不是日期类型。这是不受支持的 虽然我知道这些是什么意思,但我不知道如何修复它们。这是我的桌子 这就是我所期望的结果 我试着在Power BI社区发布这个问题,但还没有得到答案 实际数据样本: 1)创建年和年差异列(计算列) 2) 创建差异(度量)Powerbi 同比差异计算错误“;“较早/最早”;指先前的行上下文,该行上下文不';不存在,powerbi,dax,powerbi-desktop,Powerbi,Dax,Powerbi Desktop,在尝试计算年与年的差异时(现在有两天未成功),我收到以下错误消息 早期/早期指的是不存在的早期行上下文 在一个不同的SO问题中,有一种不同的方法给了我以下错误: 调用函数“SAMEPERIODLASTYEAR”时指定的列不是日期类型。这是不受支持的 虽然我知道这些是什么意思,但我不知道如何修复它们。这是我的桌子 这就是我所期望的结果 我试着在Power BI社区发布这个问题,但还没有得到答案 实际数据样本: 1)创建年和年差异列(计算列) 2) 创建差异(度量) 差异= Var curren
差异=
Var current_YearDifference=所选值(表1[年度差异])
Var Current_PrincipalBalance=计算(总和(表1[本金余额]),筛选(全部(表1),表1[年差]=(本年差)))
Var Previous_PrincipalBalance=计算(总和(表1[本金余额]),筛选(全部(表1),表1[年差]=(当前_年差-1)))
返回if(当前年差异0,(当前原则平衡-上一原则平衡),0)
3) 最终创建了百分比(度量)方面的差异
百分比差异=
Var current_YearDifference=所选值(表1[年度差异])
Var Current_PrincipalBalance=计算(总和(表1[本金余额]),筛选(全部(表1),表1[年差]=(本年差)))
Var Previous_PrincipalBalance=计算(总和(表1[本金余额]),筛选(全部(表1),表1[年差]=(当前_年差-1)))
返回if(当前年差异0,((当前主平衡-上一主平衡)/上一主平衡),0)
我的最终输出
本金余额在“输出表”的“值”窗格中选择了“总和”功能,其中,当年度为时,不进行汇总
我的最佳实践
差异=
Var current_YearDifference=所选值(表1[年度差异])
Var Current_PrincipalBalance=计算(总和(表1[本金余额]),筛选(全部(表1),表1[年差]=(本年差)))
Var Previous_PrincipalBalance=计算(总和(表1[本金余额]),筛选(全部(表1),表1[年差]=(当前_年差-1)))
返回if(当前年差异0,(当前原则平衡-上一原则平衡),0)
3) 最终创建了百分比(度量)方面的差异
百分比差异=
Var current_YearDifference=所选值(表1[年度差异])
Var Current_PrincipalBalance=计算(总和(表1[本金余额]),筛选(全部(表1),表1[年差]=(本年差)))
Var Previous_PrincipalBalance=计算(总和(表1[本金余额]),筛选(全部(表1),表1[年差]=(当前_年差-1)))
返回if(当前年差异0,((当前主平衡-上一主平衡)/上一主平衡),0)
我的最终输出
本金余额在“输出表”的“值”窗格中选择了“总和”功能,其中,当年度为时,不进行汇总
我的最佳实践
如果有帮助或没有帮助,请告诉我。请发布一个数据示例。@Sid29,我不明白。我需要计算每年本金余额的差异。这些图像显示了数据。所以这些主要余额不是相互聚合的,这就是实际数据?如果是这样,那就好了。让我试试看。是的,这些是单个日期的集合。我可以上传实际数据的图片,给我一秒钟。哈哈。。。我会根据您的数据更新相应的答案。请发布您的数据示例。@Sid29,我不明白。我需要计算每年本金余额的差异。这些图像显示了数据。所以这些主要余额不是相互聚合的,这就是实际数据?如果是这样,那就好了。让我试试看。是的,这些是单个日期的集合。我可以上传实际数据的图片,给我一秒钟。哈哈。。。我将根据您的数据相应地更新答案。工作完美,是的,我看到本金余额已汇总,但日期未汇总。工作完美,是的,我看到本金余额已汇总,但日期未汇总。
YOY Variance = var PreviousYearPrinBal = CALCULATE(SUM(Deals[Principal Balance]),FILTER(ALL(Deals[Close Date].[Year]),Deals[Close Date].[Year] = EARLIER(Deals[Close Date].[Year])))
return
if(PreviousYearPrinBal = BLANK(), BLANK(), Deals[PrincipalBalance] - PreviousYearPrinBal)
yoy = CALCULATE([PrincipalBalance], SAMEPERIODLASTYEAR(Deals[Close Date].[Year]))
Year = YEAR(Table1[Date])
Year Difference = Table1[Year] - Min(Table1[Year])
Variance =
Var current_YearDifference = SELECTEDVALUE(Table1[Year Difference])
Var Current_PrincipalBalance = CALCULATE(SUM(Table1[Principal Balance]),FILTER(ALL(Table1), Table1[Year Difference] = (current_YearDifference)))
Var Previous_PrincipalBalance = CALCULATE(SUM(Table1[Principal Balance]),FILTER(ALL(Table1), Table1[Year Difference] = (current_YearDifference - 1)))
Return if(current_YearDifference <> 0, (Current_PrincipalBalance - Previous_PrincipalBalance), 0)
Variance in terms of Percentage =
Var current_YearDifference = SELECTEDVALUE(Table1[Year Difference])
Var Current_PrincipalBalance = CALCULATE(SUM(Table1[Principal Balance]),FILTER(ALL(Table1), Table1[Year Difference] = (current_YearDifference)))
Var Previous_PrincipalBalance = CALCULATE(SUM(Table1[Principal Balance]),FILTER(ALL(Table1), Table1[Year Difference] = (current_YearDifference - 1)))
Return if(current_YearDifference <> 0, ((Current_PrincipalBalance - Previous_PrincipalBalance) / Previous_PrincipalBalance), 0)