Игнорируйте один из фильтров, которые PowerBI отправляет в службы SSAS

#powerbi #dax #ssas

Вопрос:

Мне нужно рассчитать парето, но на графике мы видим только 10 лучших элементов, но парето должно быть рассчитано из всех элементов в выбранный период даты. Так, например, если у меня есть дата 1.10.2021, и у меня есть 20 значений для этой даты. Я могу отобразить только 10 в powerbi, как я могу игнорировать фильтр для TOPN10 в dax и вычислять парето из 20 значений (на графике он не будет показывать 100 процентов для вычисления Парето)

Я публикую фильтры от PowerBI

 DEFINE
VAR __DS0FilterTable = 
    TREATAS({FALSE,
      BLANK()}, 'Breakdown'[Less then 30 sec])

  VAR __DS0FilterTable2 = 
    TREATAS({TRUE}, 'Breakdown'[IsReportedInterval])

  VAR __DS0FilterTable3 = 
    TREATAS({"Reported"}, 'Reported Filter'[Reported])

  VAR __DS0FilterTable4 = 
    TREATAS({DATE(2021, 10, 1)}, 'Date'[Date])

  VAR __DS0FilterTable5 = 
    TREATAS({"Morning"}, 'Shift'[Shift Name])

  VAR __SQDS0BodyLimited = 
    TOPN(10, __SQDS0Core, [Breakdown__min_], 0)
 

Вот расчет Парето — Если я использую ALLSELECTED, парето рассчитывается из строк, отфильтрованных фильтрами powerbi, когда я использую ВСЕ, он удалит все фильтры, что неверно, потому что я получу сумму всех строк, исключая фильтр даты. Есть какие-нибудь идеи ?

 Pareto Breakdown Description:=
VAR TotalQuantity =
    CALCULATE ( SUM ( Breakdown[DurationSeconds] ), ALLSELECTED( Breakdown ) )
VAR AllBreakdowns =
    SUM ( Breakdown[DurationSeconds] )
VAR SummarizedTable =
    SUMMARIZE (
        ALLSELECTED ( Breakdown ),
        'Breakdown'[Description SK],
        "Amount", SUM ( Breakdown[DurationSeconds] )
    )
VAR CumulativeSum =
    SUMX ( FILTER ( SummarizedTable, [Amount] >= AllBreakdowns ), [Amount] )
RETURN
   DIVIDE( CumulativeSum, TotalQuantity )
 

Ответ №1:

Это может показаться немного глупым, но я нашел обходной путь — поэтому я удалил фильтр, чтобы отображать только верхние 10 строк, и в графике я изменил минимальную ширину категории, которая в конце показывает только 10 баров (10 скрыты)

введите описание изображения здесь