Post-Image

Собакенские будни - конструкции Related и Lookupvalue

Рвав-рвав, сегодня я – собака-двередержака!

Перед вами – 2-я заметка из нашего цикла “Собакенские будн”, и ниже мы рассмотрим использование таких конструкций, как Related и Lookupvalue. При помощи данных функций можно присоединять данные, содержащиеся в разных таблицах, друг к другу. Прошаренная собака для целей демонстрации будет использовать тотже пример, что и в статье Собакенские будни - конструкция Switch.

Пример:

  • Имеется 2 набора данных, содержащих различную информацию, но при этом в каждом из набоов пристствует уникальный ключ (см. столбец “Питомец”):

    blog_009_screen_1

    Кстати, если ключ отсутствует, не опускать хвост ни в коем разе, его всегда можно сделать самостоятельно, лишь бы данные обоих наборов были хоть как-то сопоставимы.

    Задача:

    Собрать данные из обоих наборов в одном визуальном элементе, например, в элементе “Table” (“Таблица”).

    Использование функционала:

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

    blog_009_screen_2

  • Дальше уже можно переходить непосредственно к построению визуального элемента, вобщем, проще не бывает:

    blog_009_screen_3

    Конструкции Related:

  • Данная функция работает только при наличии связей между данными, все, что необходимо сделать – это определиться с базовой таблицей, а затем выбрать нужный столбец из другой таблицы:

    Эпитет - со связью =
    RELATED ( ‘Dataset 2’[Эпитет] )

    blog_009_screen_4

    В результате указанного действия мы получили составной набор данных, где указано, например, что “Джек-рассел терьер собака Смайл молодец”, а Йоркширский терьер песик Тедди умница :-)“.

  • При формировании визуального элемента результат аналогичен 1-му варианту.

    blog_009_screen_5

    Конструкции Lookupvalue:

  • Данная функция работает более хитрым образом, при этом, непосредственное наличие связей между данными для ее работы необязательно, поэтому, для чистоты эксперимента, настроенная ранее связь между “Dataset 1” и “Dataset 2” удалена:

    blog_009_screen_6

  • Сначала необходимо указать столбец желаемого результата из присоединяемой таблицы, а затем - поле ключа для поиска необходимых данных в обоих наборах. Формула, позволяющая получить составной набор данных, выглядит следующим образом:

    Эпитет - без связи =
    LOOKUPVALUE ( ‘Dataset 2’[Эпитет]; ‘Dataset 2’[Питомец]; ‘Dataset 1’[Питомец] )

    blog_009_screen_7

  • При формировании визуального элемента полученный результат аналогичен вариантам 1 и 2, но, из-за отсутствия связи между данными, на иллюстрации эти варианты стали неработоспособны:

    blog_009_screen_8

    Рвав-рвав, товарищи, даже если в связи с особенностями вашей модели связи построить нельзя – это не повод для грусти!

    Держащий нос по ветру,

    Ваш Смайл