我需要在DAX中执行一个包含2个步骤的简单计算。
第1步:计算每个产品的中位数价格变化(%)。
步骤2:计算步骤1中计算的所有中位数的平均值,而每个乘积(计算的中位数)只计算一次。
对于我来说,在步骤1中使用计算列似乎行不通,因为一旦用户在报告中过滤了表(即使用日期切片器),步骤1中的中值就会发生变化。
因此,我需要在一个度量中动态地执行这两个步骤。
我很确定答案是:“有什么方法可以做到这一点吗?”将是“是”。我只是在这一点上缺乏技术诀窍,似乎找不到答案。


发布于 2020-07-16 05:26:55
我建议创建两种不同的措施来解决这个问题。但是,由于您只需要创建1个测量,因此可以使用以下DAX函数:
Median_per_product =
VAR __step1 = CALCULATE( MEDIAN('Table'[Price_Change] ), ALLEXCEPT('Table', 'Table'[Product] ))
VAR __step2 = AVERAGEX( VALUES( 'Table'[Product] ), CALCULATE( MEDIAN( 'Table'[Price_Change] ) ) )
RETURN
IF(
HASONEVALUE('Table'[Product]) &&
NOT(ISBLANK( __step1 )),
__step1,
__step2
) 这是预期的结果:

https://stackoverflow.com/questions/62916762
复制相似问题