我有一个销售表,其中包含所购买产品的交易详细信息。我还有一个表,其中包含每种产品的仓库库存信息。我正在尝试按仓库获取前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] )
)
)
答案 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
。