ТОП 10 ценностей в агрегации DAX - PullRequest
0 голосов
/ 31 августа 2018

Я хочу показать 10 лучших клиентов с наибольшей суммой продаж в DAX. пожалуйста, дайте мне знать, почему эта формула не работает, и какой синтаксис самый лучший?!

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 голосов
/ 31 августа 2018

Есть несколько способов достижения этого; проще всего создать простую меру для расчета суммы продаж в DAX:

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

Затем вы можете просто использовать это в параметре фильтрации «Top N» на панели «Фильтры визуального уровня» в .pbix, просто поместите меру и выберите 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)

...