Indexing 基于四级指数的DAX移动平均

Indexing 基于四级指数的DAX移动平均,indexing,powerbi,dax,moving-average,multi-level,Indexing,Powerbi,Dax,Moving Average,Multi Level,我很难计算产品的价格。数据格式如下: 该地区有直辖市,产品每周按日期分为特定类别销售,由于季节性原因,并非所有周都有销售 我找到了一个排名公式,并根据这4个标准进行了调整。以下是排名的DAX表达式(计算列): 更改产品名称后,索引将重置。在这里之前一切都很好。但是,当我试图根据这个指数添加任何类型的运行总数时,它似乎会计算所有产品的价格之和,在指数重置时给出相同的结果,等等 以下是我尝试过的一些措施: cummulatives = VAR ind = MAX(_2017[index2])-3

我很难计算产品的价格。数据格式如下: 该地区有直辖市,产品每周按日期分为特定类别销售,由于季节性原因,并非所有周都有销售

我找到了一个排名公式,并根据这4个标准进行了调整。以下是排名的DAX表达式(计算列):

更改产品名称后,索引将重置。在这里之前一切都很好。但是,当我试图根据这个指数添加任何类型的运行总数时,它似乎会计算所有产品的价格之和,在指数重置时给出相同的结果,等等

以下是我尝试过的一些措施:

cummulatives = 
VAR ind = MAX(_2017[index2])-3
VAR m1=
    CALCULATE(
        SUM(_2017[SellingPrice]),
            FILTER(
                ALL(_2017),
                _2017[index2]<=ind))
VAR m2=
    CALCULATE(
        COUNT(_2017[SellingPrice]),
            FILTER(
                ALL(_2017),
                _2017[index2]<=ind))
RETURN m2
累计=
VAR ind=最大值(_2017[index2])-3
变量m1=
算计(
总额(_2017【销售价格】,
滤器(
所有(_2017),

_2017[index2]如果您希望使用新的
ProductName
重置累计总和,则该值必须是筛选上下文的一部分。您已使用
ALL()
函数删除了该上下文

您可以将其放回筛选器上下文,也可以先不删除它。我建议使用
ALLEXCEPT(\u 2017,\u 2017[ProductName])
而不是
ALL(\u 2017)

cummulatives = 
VAR ind = MAX(_2017[index2])-3
VAR m1=
    CALCULATE(
        SUM(_2017[SellingPrice]),
            FILTER(
                ALL(_2017),
                _2017[index2]<=ind))
VAR m2=
    CALCULATE(
        COUNT(_2017[SellingPrice]),
            FILTER(
                ALL(_2017),
                _2017[index2]<=ind))
RETURN m2