【问题标题】:Excel Power Pivot: calculations with filtered subtotal as a column as source for calculated columnExcel Power Pivot:使用过滤的小计作为列作为计算列的源的计算
【发布时间】:2018-01-19 12:23:33
【问题描述】:

我的数据如下所示:

year    channel discount    sales
2015    1       3.00        20,000
2015    1       3.00        23,000
2015    2       3.00        67,000
2015    1       6.00        80,000
2015    1       9.00        40,000
2016    1       4.00        98,000
2016    1       7.00        34,000
2016    1       7.00        15,000
2016    2       7.00        45,000
2016    1       10.00       60,000
2017    1       4.50        54,000
2017    1       7.50        60,000
2017    1       10.50       50,000
2017    2       10.50       54,568

我想使用 power pivot 按year 分组并计算加权销售额,如下所示:折扣应乘以与其关联的销售额,然后除以每年的总销售额。

在 Powerpivot 中,我通过以下方式计算列中的总销售额 TOTAL_SALES_YEAR=CALCULATE(SUM([sales]), ALLEXCEPT(Sheet1,Sheet1[year])) 和我的加权销售额为 WEIGHTED_SALES=[discount]*[sales]/[TOTAL_SALES_YEAR]

不过,现在我希望我的总销售额对过滤器做出反应 - 选择渠道 1、渠道 2 还是同时选择两者。

所有渠道:小计计算正确

过滤频道:小计未更改

我该怎么办?谢谢。

【问题讨论】:

    标签: excel powerpivot


    【解决方案1】:

    当您使用ALLEXCEPT 函数时,您将剥离除[year] 列之外的所有内容的过滤器上下文。如果您想保留 [channel] 过滤器上下文,那么您也可以将其添加为函数内的列:

    = CALCULATE(SUM([sales]), ALLEXCEPT(Sheet1, Sheet1[year], Sheet1[channel]))
    

    执行此操作的另一种方法是,您可以指定要删除的过滤器上下文,而不是指定要保留的过滤器上下文。看起来您想删除 [discount] 过滤器上下文:

    = CALCULATE(SUM([sales]), ALL(Sheet1[discount]))
    

    编辑:您似乎将公式作为计算列而不是度量。如果您希望表格响应过滤器,那么您需要使用度量。

    请注意,在我的屏幕截图中,度量旁边有“fx”,并且数据透视表列没有标记为“平均”或“总和”聚合描述。

    您的加权销售指标也必须稍作更改,如下所示:

    = SUMX(Sheet1, Sheet1[discount]*Sheet1[sales]) / [TotalSales]
    

    【讨论】:

    • 感谢您的回答。如果我输入这个公式,我会得到一个错误A circular dependency was detected: 'Sheet1'[TOTAL_SALES_YEAR],'Sheet1'[TOTAL_SALES_YEAR],'Sheet1'[WEIGHTED_SALES],'Sheet1'[WEIGHTED_SALES],'Sheet1'[TOTAL_SALES_YEAR].。但是,我不想删除任何过滤器上下文 - 甚至应该应用折扣过滤器。我添加ALLEXCEPT 的原因是有一个按年份聚合的总和列。请注意,TOTAL_SALES_YEAR 等于每年的小计。现在我想让那个小计适应(任何)过滤器;即 2015 年有 163,000 个,而不是 ex.2 中的 230,000 个。
    • @s-heins 这是因为您将这些创建为计算列而不是度量。请查看我的编辑。
    猜你喜欢
    • 1970-01-01
    • 2021-04-26
    • 1970-01-01
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 2016-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多