2

我对 DAX 和 PowerPivots 非常陌生。我正在使用 PowerPivot 从 SQL 服务器中提取数据。我正在使用的数据非常庞大且复杂,但我正在考虑为这个问题使用它的简化版本。

假设我有 2 列,一列包含产品名称,另一列包含产品销售日期。每次售出 1 个单位的任何产品时,我都会有一行。

Product | Date
Orange  | 08/13/2013
Orange  | 08/13/2013
Orange  | 08/13/2013
Apple   | 08/14/2013
Apple   | 08/16/2013
Orange  | 08/17/2013
Orange  | 08/17/2013

我想使用 DAX 来计算迄今为止在整个数据集中已售出多少产品。这就是我想要结束的。

Product | Date        | Cumulative Sales
Orange  | 08/13/2013  | 1
Orange  | 08/13/2013  | 2
Orange  | 08/13/2013  | 3
Apple   | 08/14/2013  | 1
Apple   | 08/16/2013  | 2
Orange  | 08/17/2013  | 4
Orange  | 08/17/2013  | 5

任何帮助,将不胜感激。

编辑:还有一件事,数据不一定按日期排序。我可能会按日期订购它,但它需要修改其他一些东西,所以我宁愿尽可能不这样做。我继承的工作表中有很多其他公式,重新排序可能会破坏其他内容。

4

1 回答 1

2

您可以在 PowerPivot 中进行计算度量来处理此问题。如果您想获得所有时间的累计销售额,您可以这样做:

    CALCULATE(     SUM( FactSales[SalesAmount] ),
    FILTER(
        ALL( DimDate) ,
        DimDate[Datekey] <= MAX( DimDate[Datekey] )
    )
)

如果您希望能够选择某个时间段(例如:所选周或月的运行总计),您可以执行以下操作:

 CALCULATE( SUM( FactSales[SalesAmount])  ,
                 FILTER(
                    ALLSELECTED( DimDate),
                    DimDate[Datekey] <= MAX( DimDate[Datekey] )
                )
    )

资料来源:哈维尔·吉伦的博客

于 2013-08-19T02:32:03.680 回答