Power BI(DAX)中按库存销售的前5名产品总和

时间:2020-05-05 04:32:52

标签: memory powerbi dax

我有一个销售表,其中包含所购买产品的交易详细信息。我还有一个表,其中包含每种产品的仓库库存信息。我正在尝试按仓库获取前5种产品的数量。

我相信下面的DAX应该可以工作,但是我遇到了内存错误。还有另一种方法可以做到这一点吗?

TopFive =
VAR top5 =
    TOPN ( 5, SUMMARIZE ( 'Sales', 'Sales'[Product] ), [Sales Count] )
RETURN
    CALCULATE (
        SUM ( 'Inventory'[Count of Products] ),
        FILTER (
            'Inventory',
            CONTAINS ( top5, 'Sales'[Product], 'Inventory'[Product] )
        )
    )

1 个答案:

答案 0 :(得分:1)

也许布尔过滤器而不是表格过滤器会更有效?

尝试一下,看看是否有帮助:

TopFive =
VAR Top5 =
    SELECTCOLUMNS (
        TOPN (
            5,
            SUMMARIZE ( 'Sales', 'Sales'[Product], "Count", [Sales Count] ),
            [Count]
        ),
        "Product", 'Sales'[Product]
    )
RETURN
    CALCULATE (
        SUM ( 'Inventory'[Count of Products] ),
        'Inventory'[Product] IN Top5
    )

也许也可以尝试使用TREATAS(Top5, 'Inventory'[Product])代替上面的'Inventory'[Product] IN Top5