Многоуровневая сортировка виджета Матрица с помощью ROWNUMBER и ISFILTERED (DAX)

Поділитися
Вставка
  • Опубліковано 14 лис 2024

КОМЕНТАРІ • 26

  • @OksanaBoldareva
    @OksanaBoldareva 14 днів тому +1

    Спасибо Вам огромное! Ваши видео огонь!

  • @АндрейШелковников-в3я

    Отличное видео! Как раз столкнулся с проблемой сортировки в матрице. Вам пора делать курс на каком-нибудь степике, юдеми и тд))

  • @сергейсидоров-й5о

    Потрясающе🎉

  • @ConstellationBI
    @ConstellationBI  Рік тому +5

    Код меры сортировки на DAX:
    Сортировка =
    if(
    not(ISFILTERED('Нормы'[Менеджер])), //условие для сортировки направлений
    ROWNUMBER(
    ADDCOLUMNS( //формируем виртуальную таблицу
    SUMMARIZE(
    ALLSELECTED('Нормы'),
    'Нормы'[Направление]),
    "@Sales", [Продажи]),
    ORDERBY([@Sales], DESC)),
    if(
    ISFILTERED('Нормы'[Менеджер]), //условие для сортировки менеджеров
    ROWNUMBER(
    ADDCOLUMNS( //формируем виртуальную таблицу
    SUMMARIZE(
    ALLSELECTED('Нормы'),
    'Нормы'[Направление],
    'Нормы'[Менеджер]),
    "@Sales", [Продажи],
    "@SalesExe", [Продажи Факт/План],
    "@ContractsExe", [Новые контракты Факт/План]),
    ORDERBY(
    [@SalesExe], DESC,
    [@ContractsExe], DESC,
    [@Sales], DESC),
    DEFAULT,
    PARTITIONBY('Нормы'[Направление])
    )))

  • @vasilpro1
    @vasilpro1 11 місяців тому +2

    Добавлю, что меру сортировки можно кинуть в подсказку и по ней сортировать, не создавая столбец в таблице.

    • @ConstellationBI
      @ConstellationBI  11 місяців тому +1

      Интересно, надо будет попробовать. Спасибо за совет👍

  • @Pavel_Taranukha
    @Pavel_Taranukha Рік тому

    Огонь! Спасибо!

  • @vasilpro1
    @vasilpro1 Рік тому +1

    🔥

  • @Agubernskiy
    @Agubernskiy 6 місяців тому

    Анна, добрый вечер! Спасибо! Вы в очередной раз дали суппер идею и изящное решение. Вопрос: возможно ли подобным образом создать матрицу с динамическими столбцами (например номера месяцев или недель), а в качестве значений мера продаж? Первый уровень сортировки: итоговые продажи, второй подкатегории (например года)

    • @ConstellationBI
      @ConstellationBI  6 місяців тому

      Спасибо за теплый отзыв!
      В принципе да, многоуровневую сортировку по итоговым продажам и годам можно сделать

  • @АлександрШестопалов-ы2м
    @АлександрШестопалов-ы2м 8 місяців тому +1

    Теперь возник новый вопрос: а если у меня будут разные листы где верхний уровень иерархии будет меняться - прописывать меру для каждого листа ? или можно сделать более универсально ?

    • @ConstellationBI
      @ConstellationBI  8 місяців тому

      Если меняются уровни иерархии, то меняется контекст, в котором действует мера. Поскольку речь про разные листы/виджеты, то я бы создала отдельные меры для каждого листа/виджета. Если же нужно использовать одну меру, то в нее нужно добавить условие: "если контекст такой-то, то выполняй такой-то расчет, если контекст другой - выполняй другой расчет".

  • @ivank3573
    @ivank3573 Рік тому

    Спасибо! Очень интересно и последовательно рассказываете. Не уловил один момент. Вы же константу присвоили мере с цветом. Почему тогда при чередовании фона строк отрабатывает корректно?

    • @ConstellationBI
      @ConstellationBI  Рік тому

      Спасибо за теплый отзыв 🤗 В меру Цвет я записала "прозрачный" цвет ("#ffffff00"), поэтому значений не видно при чередовании фона строк

  • @ИльяПасниченко
    @ИльяПасниченко 9 місяців тому +1

    Можно в матрице раскрывать иерархию по + и -? Когда у себя делаю подключение к кубу, вывожу иерархию в строки, измерение гипермаркетов в столбцы и значения в ячейки - только трезубцем раскрывается все разом и проваливается на уровень ниже. А что то раскрыть на уровень ниже и при этом смотреть на все остальное что осталось на предыдущем уровне не получается. Т.е. нужен аналог как в Excel. Есть иерархия и ее уровни, можем по какому то одному направлению провалиться на сколько нам надо, остальные при этом раскрываться не будут.

    • @ConstellationBI
      @ConstellationBI  9 місяців тому

      Да, можно, в матрице несколько вариантов перемещения по уровням иерархии и "проваливания в данные". Попробуйте правым щелчком нажать на нужный уровень в матрице и во всплывающем меню выбрать подходящий вариант: развернуть (свернуть) выбор/весь уровень, детализация углублением/детализация обощением, показать следующий уровень, раскрыть до следующего уровня

  • @Nina-fu9pd
    @Nina-fu9pd 7 місяців тому

    Добрый день. Большое спасибо за видео. В моей матрице на месте фамилий находятся названия месяцев. То есть есть категория, которая разбита по месяцам. В столбцах находятся показатели-выручка, динамика, в т.ч. в % Как прописать формулу, чтобы сортировка была по итоговым значениям категории, но внутри категории сортировка не менялась
    по месяцам. Т.е как в начале вашего видео. Заранее благодарю

    • @ConstellationBI
      @ConstellationBI  7 місяців тому

      Добрый день! Мы можем разобрать ваш пример, пришлите пожалуйста pbix файл на почту anna.powerbi@yandex.ru

  • @АлександрШестопалов-ы2м

    А есть ли возможность провернуть подобное только без rownumber

    • @ConstellationBI
      @ConstellationBI  8 місяців тому

      Теоретически - да, практически не пробовала, т.к. код точно будет сложнее

    • @АлександрШестопалов-ы2м
      @АлександрШестопалов-ы2м 8 місяців тому

      @@ConstellationBI Почему-то нет данной формулы(

    • @ConstellationBI
      @ConstellationBI  8 місяців тому

      learn.microsoft.com/ru-ru/dax/rownumber-function-dax - посмотрите справочник DAX, должна быть)) проверьте обновление программы Power BI

    • @АлександрШестопалов-ы2м
      @АлександрШестопалов-ы2м 8 місяців тому +1

      Да, действительно обнова висела, спасибо@@ConstellationBI