DAX汇总中的前10个值

时间:2018-08-30 21:24:43

标签: dax powerpivot

我想显示DAX销售额最高的前10名客户。 请让我知道为什么这个公式不起作用,最好的语法是什么?!

DEFINE
MEASURE InvoiceLines[Sales] = sumx(InvoiceLines,InvoiceLines[Quantity]*InvoiceLines[UnitPrice])
EVALUATE

TOPN(10,
SUMMARIZE(
    Customers,
    Customers[customerID],Customers[CustomerName],
    "Sales" ,InvoiceLines[Sales]
    )
, InvoiceLines[Sales],DESC
)

1 个答案:

答案 0 :(得分:0)

有几种方法可以实现这一目标;最简单的方法是创建一个简单的度量来计算DAX中的销售额:

Total Sales := CALCULATE(SUM('Table'[Sales])) 

然后,您可以简单地在.pbix的“ Visual Level Filters”窗格中的“ Top N”过滤选项中使用此方法,只需放入度量并选择10作为N参数。

我过去使用DAX完成的一种更复杂的方法:

Top 10 Customers :=
VAR RankingContext =
    VALUES ( 'Customers'[CustomerName] )
VAR TopNumber = 10
RETURN
    CALCULATE (
        [Total Sales],
        TOPN ( TopNumber, ALL ( 'Customers'[CustomerName] ), [Total Sales] ),
        RankingContext
    )

我希望这会有所帮助!! (我会选择选项1)