Что делать в этих ситуациях

Вы когда-нибудь получали в наследство неряшливую модель? Это как попасть в паутину и быть съеденным целиком.

Что я подразумеваю под съеденным целиком?

Это означает, что если вы не зададите правильных вопросов, вы можете потратить весь день на разработку мер, запросов, так ничего и не добившись!

Я был там.

Картинки стоят тысячи слов.

Взгляните на этот тип модели. Каждый «квадрат» здесь — это стол.

Я помню, как кто-то в шутку назвал этот стиль моделирования данных «схемой паутины». 😀

Что вы можете сделать в подобных ситуациях?

Есть несколько вещей, которые вы можете сделать. Все дело в том, чтобы сначала задать общие вопросы, прежде чем углубляться в мельчайшие детали.

Что делать.

  1. Определить и понять цель отчета
  2. Определите таблицы фактов
  3. Определите таблицы фильтрации, связанные с таблицами фактов.
  4. Повторяйте метрики и визуальные эффекты, чтобы проверить свое понимание
  5. Просмотрите шаги Power Query, связанные с таблицами фактов.

Понять цель отчета

Во-первых, прежде чем что-либо делать, узнайте цель отчета. Это важный вопрос. Это заложит основу для того, что вам нужно будет делать дальше.

Обратите внимание на то, кто является аудиторией, как часто они читают этот отчет и почему. Какое объяснение стоит за этим? Эта информация понадобится вам, чтобы помочь вам понять модель данных.

Если возможно для каждой страницы отчета, спросите об основной идее каждой страницы.

Сохраняйте их в качестве мысленных заметок по мере перехода к модели.

Определите таблицы фактов.

Теперь, когда у вас есть представление о том, о чем отчет, пришло время углубиться в саму модель.

Давайте определим таблицы фактов. Таблицы фактов должны иметь больше соединений, чем другие таблицы.

Посмотрите также на отношения, они, скорее всего, будут на многих концах отношений 1:many.

Определив таблицы фактов, вы можете сделать обзор столбца, чтобы получить представление о том, о чем сообщается. Вы можете сделать это, пролистав фактический отчет и таблицы фактов.

Постарайтесь запомнить цель отчета. В любой момент вы обнаружите таблицы фактов, которые не относятся к фактическому отчету, пришло время вернуться к предыдущему разработчику, если это возможно, и спросить, почему они были там в первую очередь.

Вы обнаружите, что много раз там были таблицы фактов для специальных целей отчетности. Он существует только для того, чтобы сообщить об этом один или два раза, но он оставлен там на случай, если будут дополнительные запросы.

Обратите внимание на эти таблицы фактов.

Это сделано для того, чтобы дать вам представление о том, что считается «важной» таблицей, и, скорее всего, большинство показателей также построено вокруг этой таблицы.

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

Теперь вы можете подумать, что я просто предполагаю, что в модели, которую вы наследуете, действительно есть таблицы фактов. Что, если все настолько запутано, что таблиц фактов нет или никто не знает, что это такое?

В подобных случаях помните о цели отчета и ищите в отчете меры, которые ссылаются на эти таблицы. Это могут быть ваши таблицы фактов.

В приведенной ниже мере это даст вам много подсказок. Например, если это сумма итогов, где таблица «Итоги»? Он достаточно важен, чтобы его можно было использовать в качестве показателя отчета, поэтому на него стоит обратить внимание. Вторая часть - KEEPFILTERS. Это может быть таблица фильтрации.

Measure = CALCULATE(SUM(Totals), KEEPFILTERS(Store == A))

Помните, что целью отчета является предоставление ключевых подсказок относительно того, где расположены таблицы фактов.

Определение таблиц фильтрации

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

Существуют ли фильтры для конечных пользователей? Какие таблицы они используют? Скорее всего, это все фильтрующие таблицы.

Обратите внимание на эти фильтрующие таблицы, они помогут вам на встречах с заинтересованными сторонами. Вы можете обратиться к этим таблицам, и, скорее всего, это таблицы, которые вы можете использовать для «вырезания данных».

Это даст вам некоторую переговорную силу. Предположим, кто-то просит обрезать данные определенным образом, вы можете спросить себя, существует ли таблица фильтрации, или, возможно, вам потребуется больше усилий, чтобы получить такую ​​таблицу.

Таблицы, выделенные желтым цветом, вероятно, являются таблицами фильтрации.

Дважды проверьте отчет

Теперь, когда вы понимаете цель отчета и определили несколько таблиц фактов (некоторые из которых могут быть устаревшими) и таблиц фильтрации, пришло время перепроверить свое понимание отчета, задав себе несколько вопросов.

Это самое интересное!

Посмотрите, сможете ли вы воспроизвести некоторые визуальные элементы отчета, желательно самые важные, и поймете ли вы, как они были созданы. Вы можете столкнуться с определенными фильтрами визуального уровня, а также показателями, в которые встроены фильтры.

Это хорошие вопросы, которые можно задать предыдущему разработчику.

«Почему этот визуальный элемент имеет фильтр визуального уровня только после 1 апреля 2021 года, а не какие-либо другие визуальные элементы? “

«Почему существует фильтр для меры XYZ?»

«Почему это делается в Power Query, а не в DAX? “

Это вопросы, которые нужно задавать. Не забудьте вернуться к цели отчета.

Используйте TREATAS, INTERSECT и EXCEPT при сравнении таблиц. Эти функции помогут вам сравнивать таблицы, не создавая реальных отношений. Это позволит оставить модель нетронутой во время навигации по ней. Если вы хотите узнать больше об этих функциях, ознакомьтесь с этой статьей здесь.

Просмотрите шаги Power Query, связанные с таблицами фактов.

Теперь, когда вы знаете, где находятся таблицы фактов и таблицы фильтрации, а также как воспроизвести некоторые показатели и визуальные элементы, пришло время взглянуть на Power Query.

Просмотрите процессы преобразования в Power Query, уделяя особое внимание тем, которые создают таблицы фактов. Вы, вероятно, захотите узнать, почему необходим каждый шаг в процессе создания таблиц фактов. Это займет некоторое время.

Всегда дублируйте запрос при просмотре. Вы также не хотите случайно удалить шаги. Старайтесь изо всех сил переименовывать шаги так, как вы понимаете. Это поможет вам отслеживать шаги, которые вы рассмотрели, и шаги, которые еще предстоит просмотреть.

Если ничего не помогает, и вы действительно ничего не понимаете в отчете и получаете запутанные ответы от предыдущего разработчика?

Вы получаете сообщения об отмене встречи каждый раз, когда поднимается этот отчет?

Вам сказали просто разобраться? 😤

Просто покажите всем схему паутины и скажите всем, что вам нужно будет все перестроить. Наверное, это было неправильно с самого начала!