如何解决DAX 上一年标准化金额
我有一个名为“规范化数据”的列,它有 2 个值“是”和“否”。
要求:
当用户单击“是”时,我希望我的度量(称为 Prev_YR_Trans)做一件事,但如果用户单击“否”,我希望度量做另一件事。
让我用一个例子来解释 - 我的度量 Prev_YR_Trans 显示前一个时间段的交易。假设当前时间段是“25”,那么它将显示时间段“24”的交易。现在,如果用户点击“是”,那么我希望前一年的交易得到“标准化”,即我希望它乘以 2 个时间段的方差 b/w。
我尝试过的:
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,'X'[Time Period]= prevSeason)
)
在我上面的度量中,“VAR bb = CALculaTE(('X'[normalize data]))
”给了我一个错误,因为它需要一些聚合,如 max、min、sum 等。
编辑(已解决)有关“规范化数据”列的更多信息:
我通过创建一个名为“normalize Slicer”的新表来解决“normalize Data”列的问题,其中包含 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,"No")
上述公式确实有效,但我希望它是动态的,而不是手动输入的值。
解决方法
插入
VAR bb = CALCULATE(('X'[Normalize data]))
使用这个:
var bb = SELECTEDVALUE('X'[Normalize data])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。