DAX 上年标准化金额

DAX Previous Year Normalized Amount

我有一个名为“规范化数据”的列,它有两个值“是”和“否”。

要求:

当用户单击“是”时,我希望我的度量(称为 Prev_YR_Trans)做一件事,但如果用户单击“否”,我希望度量做另一件事。

让我用一个例子来解释 - 我的度量 Prev_YR_Trans 显示了前一个时间段的交易。假设当前时间段是“25”,那么它将显示时间段“24”的交易。现在,如果用户点击“是”,那么我希望前一年的交易得到“标准化”,即我希望它乘以方差 b/w 2 个时间段。

我试过的:

Prev_YR_Trans = 

#getting the current & previous time period from Table "X"
VAR prevSeason = CALCULATE(MAX('X'[Time Period]))-1
VAR maxSeason = CALCULATE(MAX('X'[Time Period]))

#getting variance b/w prev and current time periods
VAR maxSeason_footfall = CALCULATE(SUM('Y'[Park_Footfall]),'Y'[Time Period]=maxSeason)
VAR prevSeason_footfall = CALCULATE(SUM('Y'[Park_Footfall]),'Y'[Time Period]=prevSeason)
VAR footfall_variance = 1+((maxSeason_footfall-prevSeason_footfall)/prevSeason_footfall)

#trying to get the option that the user clicks on(?)
VAR bb = CALCULATE(('X'[Normalize data]))

#returns normalized numbers if user chooses "Yes" else returns actual numbers
RETURN 
IF(bb="Yes",
CALCULATE(SUM('X'[Receipt Count]),'X'[Time Period]= prevSeason)*footfall_variance,
CALCULATE(SUM('X'[Receipt Count]),'X'[Time Period]= prevSeason)
)

在我的上述测量中,“VAR bb = CALCULATE(('X'[Normalize data]))”给我一个错误,因为它需要一些聚合,如最大值、最小值、总和等。

如何解析我的度量值以使其显示正确的数字?

编辑(已解决)有关“标准化数据”列的更多信息:

我通过创建一个名为“标准化切片器”的新 table 和 yes/no 值解决了“标准化数据”列。这是 link

另外,如果你也能帮我解决我的“数据标准化”专栏,那就太好了!

所以对于“规范化数据”列 - 我只想让它显示 2 个选项“是”和“否”,但我意识到我需要将它创建为一个列,以便切片器功能正常工作。

所以对于我的公式,如果“时间段”小于或等于前一个时间段,我想显示“是”,否则显示“否”。

我尝试执行以下操作:

Normalize data = IF('X'[Time Period]<=(CALCULATE(MAX('X'[Time Period]))-1),"Yes","No")

但上面的列只对所有值显示“否”,因此作为解决方法,我在公式中手动输入了前一个时间段:

Normalize data = IF('X'[Time Period]<=24,"Yes","No")

上面的公式确实有效,但我希望它是动态的,而不是手动输入的值。

代替

VAR bb = CALCULATE(('X'[Normalize data]))

使用这个:

var bb = SELECTEDVALUE('X'[Normalize data])

https://dax.guide/selectedvalue/