AVERAGE TOTALYTD 给出不正确的结果。 Power BI DAX
AVERAGE TOTALYTD gives incorrect result. Power BI DAX
我只需要为 Closed
索赔计算 Average Year To Date
。
如果我使用 FILTER
函数,那么它会给出正确的结果:$3,507.74
AVG_YTD_Indemn_Closed =
CALCULATE (
AVERAGE ( fact_Losses[PaidIdemnity] ),
FILTER (
fact_Losses,
fact_Losses[DateEntered].[Year] = YEAR ( TODAY () )
&& fact_Losses[ClaimStatus] = "Closed"
)
)
但是如果我使用 TOTALYTD
函数然后出于某种原因我得到不同的结果 $4,702.31:
AVG_YTD_Indemn_Closed1 =
CALCULATE (
TOTALYTD ( AVERAGE ( fact_Losses[PaidIdemnity] ), dim_Date[Date] ),
fact_Losses[ClaimStatus] = "Closed"
)
为什么差别这么大?函数 TOTALYTD
如何计算出与 FILTER
不同的结果?
正如解释的那样 here,
TOTALYTD (
<EXPRESSION>,
<DATES>
[, <FILTER>]
[, <YEARENDDATE>]
)
等同于
CALCULATE (
<EXPRESSION>,
DATESYTD ( <DATES> [, <YEARENDDATE>] )
[, <FILTER>]
)
因此您的 TOTALYTD
度量相当于
AVG_YTD_Indemn_Closed1 =
CALCULATE (
CALCULATE(
AVERAGE ( fact_Losses[PaidIdemnity] ),
DATESYTD( dim_Date[Date] )
),
fact_Losses[ClaimStatus] = "Closed"
)
如果你理顺了约会关系,我会推荐这个版本,因为 TOTALYTD
无法容纳你将来可能需要的额外过滤器,如前所述 here:
AVG_YTD_Indemn_Closed1 =
CALCULATE (
AVERAGE ( fact_Losses[PaidIdemnity] ),
DATESYTD( dim_Date[Date] ),
fact_Losses[ClaimStatus] = "Closed"
)
我只需要为 Closed
索赔计算 Average Year To Date
。
如果我使用 FILTER
函数,那么它会给出正确的结果:$3,507.74
AVG_YTD_Indemn_Closed =
CALCULATE (
AVERAGE ( fact_Losses[PaidIdemnity] ),
FILTER (
fact_Losses,
fact_Losses[DateEntered].[Year] = YEAR ( TODAY () )
&& fact_Losses[ClaimStatus] = "Closed"
)
)
但是如果我使用 TOTALYTD
函数然后出于某种原因我得到不同的结果 $4,702.31:
AVG_YTD_Indemn_Closed1 =
CALCULATE (
TOTALYTD ( AVERAGE ( fact_Losses[PaidIdemnity] ), dim_Date[Date] ),
fact_Losses[ClaimStatus] = "Closed"
)
为什么差别这么大?函数 TOTALYTD
如何计算出与 FILTER
不同的结果?
正如解释的那样 here,
TOTALYTD (
<EXPRESSION>,
<DATES>
[, <FILTER>]
[, <YEARENDDATE>]
)
等同于
CALCULATE (
<EXPRESSION>,
DATESYTD ( <DATES> [, <YEARENDDATE>] )
[, <FILTER>]
)
因此您的 TOTALYTD
度量相当于
AVG_YTD_Indemn_Closed1 =
CALCULATE (
CALCULATE(
AVERAGE ( fact_Losses[PaidIdemnity] ),
DATESYTD( dim_Date[Date] )
),
fact_Losses[ClaimStatus] = "Closed"
)
如果你理顺了约会关系,我会推荐这个版本,因为 TOTALYTD
无法容纳你将来可能需要的额外过滤器,如前所述 here:
AVG_YTD_Indemn_Closed1 =
CALCULATE (
AVERAGE ( fact_Losses[PaidIdemnity] ),
DATESYTD( dim_Date[Date] ),
fact_Losses[ClaimStatus] = "Closed"
)