Рвав-рвав, сегодня я — собака-двередержака!
Перед вами — 2-я заметка из нашего цикла «Собакенские будни», и ниже мы рассмотрим использование таких конструкций, как Related и Lookupvalue. При помощи данных функций можно присоединять данные, содержащиеся в разных таблицах, друг к другу. Прошаренная собака для целей демонстрации будет использовать тот же пример, что и в статье Собакенские будни — конструкция Switch.Пример:
Имеется 2 набора данных, содержащих различную информацию, но при этом в каждом из наборов присутствует уникальный ключ (см. столбец «Питомец»):
Кстати, если ключ отсутствует, не опускать хвост ни в коем разе, его всегда можно сделать самостоятельно, лишь бы данные обоих наборов были хоть как-то сопоставимы.
Задача:
Собрать данные из обоих наборов в одном визуальном элементе, например, в элементе «Таблица».
Использование функционала:
- Если мы можем связать данные посредством имеющегося ключа, и у нас не стоит задачи объединения данных в одну сущность, то все что необходимо сделать — это настроить нужную связь на уровне модели:
- Дальше уже можно переходить непосредственно к построению визуального элемента, в общем, проще не бывает:
Конструкции Related:
- Данная функция работает только при наличии связей между данными, все, что необходимо сделать — это определиться с базовой таблицей, а затем выбрать нужный столбец из другой таблицы:
Эпитет — со связью =
RELATED ('Таблица 2'[Эпитет])
- Результат использования формулы, указанной выше:
В результате указанного действия мы получили составной набор данных, где указано, например, что «Джек-рассел терьер собака Смайл молодец», а Йоркширский терьер песик Тедди умница :-)".
- При формировании визуального элемента результат аналогичен 1-му варианту:
Конструкции Lookupvalue:
- Данная функция работает более хитрым образом, при этом, непосредственное наличие связей между данными для ее работы необязательно, поэтому, для чистоты эксперимента, настроенная ранее связь между «Dataset 1» и «Dataset 2» удалена:
- Сначала необходимо указать столбец желаемого результата из присоединяемой таблицы, а затем — поле ключа для поиска необходимых данных в обоих наборах. Формула, позволяющая получить составной набор данных, выглядит следующим образом:
Эпитет — без связи =
LOOKUPVALUE ('Таблица 2'[Эпитет], 'Таблица 2'[Питомец], 'Таблица 1'[Питомец])
- Результат использования формулы, указанной выше:
- При формировании визуального элемента полученный результат аналогичен вариантам 1 и 2, но, из-за отсутствия связи между данными, на иллюстрации эти варианты стали неработоспособны, как и в столбце «Эпитет — со связью»:
Рвав-рвав, товарищи, даже если в связи с особенностями вашей модели связи построить нельзя — это не повод для грусти!
Держу нос по ветру.
Ваш Смайл