Как упростить себе работу с DAX-формулами с помощью DetailRows

แชร์
ฝัง
  • เผยแพร่เมื่อ 7 พ.ย. 2024

ความคิดเห็น • 14

  • @kostyakostya655
    @kostyakostya655 3 ปีที่แล้ว +1

    Здраствуйте! А вы можете выложить рассматриваемый пример для загрузки?

  • @zinykov
    @zinykov 3 ปีที่แล้ว +2

    Microsoft рекомендует многократно повторяемый код выносить в вычисляемую группу. А detail rows expression предназначена для определения набора столбцов для получения детализации меры в сводной таблице по двойному нажатию на значение. На сколько я понимаю, функция detailrows позволяет из кода вызвать detail rows expression.

    • @salosteysv
      @salosteysv  3 ปีที่แล้ว +1

      Я сначала планировал упомянуть в видео про вычисляемые группы и объяснить, почему их не использовал, но для уменьшения времени видео не стал. А благодаря вашему комментарию поясню в тексте :)
      Тут две причины, почему я их не использовал:
      1. Вычисляемые группы хорошо подходят для случаев, когда у нас в принципе не хватает какого-то среза данных и его приходится вычислять, классический пример - прошлый год. А в рассматриваемом примере - у нас срез по статьям уже есть, это статья "Выручка". И если бы я сделал вычисляемую группу "Выручка", и потом применил бы ее фильтр к диаграмме, то это было бы тоже самое, что я применил бы фильтр столбца [Статья]. Минусы применения такого фильтра я в видео проговорил.
      2. Иногда в файле просто нужны самостоятельные меры, которые бы выдавали отфильтрованные значения без контекстов на странице или в визуальном элементе, в том числе без CG. И обычно именно в таких мерах приходится писать много интересного и повторяющегося.
      Ну и, да, вы правы, DetailRows - еще и функция, которая позволяет управлять полнотой выдачи строк на даблклик. Как я понимаю, одно другому не мешает, поэтому будем использовать возможности по максимуму :)

    • @zinykov
      @zinykov 3 ปีที่แล้ว +1

      @@salosteysv , в видео в Detail rows expression Вы выносите именно фильтр для нескольких мер. Для решения задачи, описанной в видео, на мой взгляд есть несколько вариантов:
      1. использовать визуальный элемент "Срез" и настроить взаимодействие визуальных элеметов.
      2. сделать срез для фильтра визуального элемента и проверять контекст этого фильтра в calculated item

    • @salosteysv
      @salosteysv  3 ปีที่แล้ว

      @@zinykov это тоже хороший вариант. Но если требуется решение без манипуляции фильтрами на уровне визуальных элементов, то DetailRows тоже подойдет )

  • @ДмитрийДзёба-ц3т
    @ДмитрийДзёба-ц3т 3 ปีที่แล้ว +2

    Было бы здорово , если вы выкладывали под видео ваш файл , для тренировки либо корректировки мер для своих мыслей)

    • @salosteysv
      @salosteysv  3 ปีที่แล้ว +3

      Мысль хорошая )
      И файлы я на самом деле выкладываю в группах VK, FB и на сайте. Но обычно это происходит немного позже, когда на эту тему пишу пост и файл уже готовый к употреблению - более или менее выверенный, красивый и без лишних формул и настроек )

  • @СергейЮрьевич-ъ9я
    @СергейЮрьевич-ъ9я 3 ปีที่แล้ว +1

    Станислав, спасибо за видео!
    Не могу найти решение по такой задачи. Имеется матричная таблица в BI, заголовки строк - ФИО сотрудников, в шапке 30 дней конкретного месяца в области данных цифры с объемом работ по каждому дню. Возникло желание покрасить цветом отпуска сотрудников, чтобы сразу было визуально ясно присутствие сотрудников на работе.

    • @salosteysv
      @salosteysv  3 ปีที่แล้ว +1

      Цвет фона или значения → правила, а там с помощью меры покрасить.

    • @СергейЮрьевич-ъ9я
      @СергейЮрьевич-ъ9я 3 ปีที่แล้ว +1

      @@salosteysv Спасибо!!!

  • @alexandert477
    @alexandert477 3 ปีที่แล้ว +1

    Как вариант можно поставить фильтр для ВИЗУАЛЬНОГО ЭЛЕМЕНТА со значением статьи 1010-В

    • @salosteysv
      @salosteysv  3 ปีที่แล้ว

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

    • @alexandert477
      @alexandert477 3 ปีที่แล้ว

      @@salosteysv Подскажите как решить проблему
      Есть [доходы], [себестоимость] и [FC]
      Часть затрат условно назовем FC, не имеет признака региональности
      Доходы и себестоимость по ID можем подтянуть регион но не можем найти часть FC в доходах
      И как следствие применяя фильтр по регионам, отображается полная сумму FC, искажая тем самым рентабельность
      А для того чтобы распределить [FC] можно было бы найти % и умножить на [доходы]
      FC%=VALUE(DIVIDE([FC], [доходы]))*[доходы]
      И потом это свести в один столбец
      Результат=CALCULATE([доходы]+ [себестоимость]+[FC%])
      Но не получается, удается получить лишь скалярное значение
      Подскажите пожалуйста где ошибка?

    • @salosteysv
      @salosteysv  3 ปีที่แล้ว

      ​@@alexandert477 прежде чем ответить, сделаю методологическую оговорку: я против распределения накладных расходов пропорционально доходам ☺ Потому что, кто больше продает, на того больше "повесят" этих самых постоянных расходов. Распределять расходы нужно методом Acivity-Based Cocting. Все. Высказался, теперь по существу )
      Чтобы найти долю продаж используйте формулу:
      DIVIDE ( [Доходы] , CALCULATE( [Доходы] , ALL('Справочник регионов'[Столбец с городами]))
      А потом, на получившийся процент умножьте FC, и не забудьте для FC тоже поставить ALL.