← Все курсы · Курс Tableau · Все руководства

Табличные отношения: что на самом деле делает лапша

Способ, которым Tableau по умолчанию объединяет таблицы, и почему он фиксирует завышенные итоги · Написано для прослушивания · Часть Analyst Prep Kit

К , аналитик данных · Обновлено

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

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

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

Здесь одна идея решает все остальное, поэтому она и дает представление о картине. В этом разница между однократным объединением данных и объединением их по каждому вопросу.

One flat table against two tables kept apart The picture is in two halves. The upper half, labelled join, shows two small tables merging through a funnel into a single wide flat table of six rows, in which a value from the smaller table is repeated on every row, shown as the same shaded cell appearing six times. A single arrow leads from that one flat table to a single chart. The lower half, labelled relationship, shows the same two small tables side by side, connected by a curved flexible line and never merged. Three separate arrows lead from that pair to three different charts, indicating that each view generates its own query against the tables. The contrast shows that a join produces one fixed combined table used by everything, while a relationship keeps the tables intact and combines them differently for each view. join relationship Above: combined once, so the repeated value is baked in. Below: combined per view, so each question gets its own query.
Соединение решает, как объединяются таблицы, прежде чем вы что-либо спросите. Отношения решаются один раз за просмотр.
Что вы узнаете
  1. Что такое лапша
  2. Завышенная сумма и почему отношения это исправляют
  3. Два слоя и как достичь их соединения
  4. Если вы все еще хотите присоединиться
  5. Настройки производительности и что они обещают
  6. Крайние случаи и вещи, которые удивляют людей
  7. Почему это работает
  8. Использование этого в своей книге
  9. Все на одном экране
Это по сертификации. Отношения появились в Tableau 2020.2 и сегодня используются по умолчанию. Экзамен Сертифицированные Salesforce основы Tableau Desktop Foundation в настоящее время тестируется на Tableau 2022.3, поэтому модель отношений находится в рамках, а не в необязательной истории. Комплект Основы рабочего стола Tableau есть практические вопросы.

1. Что такое лапша

Перед пояснением: вы перетаскиваете вторую таблицу на холст, и между ними появляется изогнутая линия. На тот момент Tableau уже объединила ваши данные?

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

Люди называют эту изогнутую линию лапшой, а ее гибкость — хорошая визуальная шутка. Линия соединения — это жесткое заявление о том, как выглядят объединенные данные. Лапша — это более свободное обещание: эти две таблицы могут сопоставляться по этому полю, когда представление требует их сопоставления.

Объединение происходит позже, по одному представлению за раз. Когда вы строите диаграмму, Tableau смотрит, какие поля вы на самом деле использовали, а затем пишет запрос по этому конкретному вопросу. Перетащите разные поля, и он напишет другой запрос. В документации это ясно сказано: Tableau «разумно настраивает типы соединений и сохраняет исходный уровень детализации ваших данных».

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

Лапша — это описание, а не инструкция. Вы рассказываете Tableau, как таблицы мог быть сопоставлены. Он решает, как они на самом деле сопоставляются каждый раз, когда вы создаете представление.

2. Завышенная сумма и почему отношения ее исправляют

Перед пояснением: в вашем регионе запланирован объем продаж в 50 000 долларов США на январь. Вы присоединяете цели к ордерам, помещаете цель на график, и она составляет 4 150 000 долларов. Откуда взялось это число?

Из соединения, повторяющего это. Таблица целей содержит по одной строке на регион в месяц. Таблица заказов содержит тысячи строк на регион в месяц. Присоединение к ним записывает январскую цель в каждую строку заказа, а их было 83. Затем SUM суммируется все 83 копии.

Ничего не ошибочно. График нарисовался. Это число отличается в 83 раза, и только тот, кто знает настоящую цель, сможет ее обнаружить. Это то же самое дублирование, которое описано в SQL-СОЕДИНЕНИЯ, и это самая распространенная неправильная цифра в работе по бизнес-аналитике.

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

Прежде чем читать дальше, скажите вслух, почему объединение первого и второго дает другой ответ, чем объединение первого и второго. Этот порядок является основой всего руководства.

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

В том же механизме есть и второй выигрыш. При объединении строка, которая ничему не соответствует, может исчезнуть из вашего анализа. Что касается связи, в документации Tableau говорится, что «несовпадающие значения показателей не удаляются», поэтому регион без цели по-прежнему показывает свои продажи, а не незаметно исчезает.

3. Два слоя и как достичь их соединения

Перед объяснением: отношения теперь используются по умолчанию. Означает ли это, что соединения исчезли из Tableau?

Это не так. Они спустились на уровень ниже, и знание того, куда они пошли, больше всего сбивает с толку людей, возвращающихся в Tableau через несколько лет.

Холст источника данных имеет два слоя.

СлойЧто ты видишьЧто он делает
Логический, верхний холстСтолы, соединенные лапшойОписывает отношения. Столы остаются отдельными.
Физический, открывается двойным щелчком по таблицеЗнакомые круги ВеннаРеальные объединения и союзы. Объединяет таблицы в одну перед анализом.

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

Там же Союзы живут, и профсоюзы отвечают на разные вопросы ни от того, ни от другого. Соединение или связь добавляют столбцы путем сопоставления по ключу. Объединение объединяет строки. Если у вас есть таблица продаж за январь и таблица продаж за февраль с одинаковыми столбцами, и вам нужна одна таблица, содержащая все это, каждый раз это объединение. Никакого соответствия, никакого ключа, просто больше строк.

4. Если вы все еще хотите присоединиться

Прежде чем объяснить: если отношения избегают дублирования и удаления строк, зачем кому-то намеренно выбирать соединение?

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

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

Таблицы имеют одинаковый уровень детализации. Если обе таблицы содержат по одной строке на каждый заказ, дублирование невозможно, а соединение становится простым и предсказуемым. Модель отношений решает проблему, которой у вас нет.

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

Вот краткое решение.

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

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

5. Настройки производительности и что они обещают

Перед объяснением: Tableau просит вас описать мощность и ссылочную целостность ваших данных. Если вы дадите один из этих ответов неправильно, что произойдет?

Нажмите на лапшу, и вы получите параметры производительности. Обе настройки по умолчанию относятся к осторожному ответу, и оба являются обещаниями, которые вы даете Tableau в отношении своих данных.

Мощность спрашивает, сколько строк совпадает. В одном регионе много заказов, поэтому и в той стороне много. Указание Tableau, что сторона равна «одной», позволяет ей пропустить работу по удалению дубликатов, от которых в противном случае пришлось бы защищаться.

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

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

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

6. Крайние случаи и вещи, которые удивляют людей

Перед объяснением: вы создаете представление, используя поля только из одной из двух связанных таблиц. Tableau запрашивает другой?

Шесть вещей, которые стоит знать.

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

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

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

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

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

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

Почему это работает

Поведение здесь не является причудой Таблица. Это прямое следствие того, что делает агрегирование, и то же правило действует в отношении любого инструмента, объединяющего таблицы с разными уровнями детализации. Объединение первой и агрегирование второй суммы повторяющихся значений. Агрегирование первого и объединение второго суммирует исходные значения. Реляционная модель определяет объединение как набор совпадающих пар строк, и именно поэтому цель из одной строки в паре с 83 строками заказа становится 83 строками, несущими эту цель (Кодд, 1970, Коммуникации ACM, 13(6), 377–387). Модель отношений Tableau не отменяет этого. Он переупорядочивает две операции, поэтому дублирование никогда не достигает вашего SUM.

Поведение продукта, описанное на этой странице, взято из собственной документации Tableau, которая является авторитетной для нее. В разделе «Связывание данных» (справка Tableau, текущая версия) говорится, что связи — это «динамический, гибкий способ объединения данных из нескольких таблиц для анализа», что они «не объединяют таблицы вместе» и что несовпадающие значения показателей не удаляются. Если вторичная рецензия не согласуется с этой страницей, страница выигрывает.

Есть вторая причина, по которой это руководство постоянно просит вас ответить, прежде чем оно объяснит. Учащиеся, которые объясняют себе проработанный пример по ходу дела, лучше понимают его и лучше применяют его к новым задачам, чем учащиеся, которые читают тот же пример целиком (Чи, Бассок, Льюис, Рейманн и Глейзер, 1989, Когнитивная наука, 13(2), 145–182). Отношения вознаграждают это, потому что ошибка никогда не бывает в кнопке. Это то, что, по вашему мнению, означает одна строка.

Использование этого в своей книге

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

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

  1. Произнесите вслух уровень детализации каждой таблицы. прежде чем что-либо подключать. «Одна строка на строку заказа». «Одна строка на регион в месяц». Если они различаются, вы хотите отношений.
  2. Проверьте одну известную сумму. Поместите мерку из меньшей таблицы на отдельный лист и сравните ее с уже известной вам цифрой. Это десятисекундный тест, который выявляет всю проблему.
  3. Учитывайте каждое поле, в котором действительно нуждается совпадение. Одного региона недостаточно, когда настоящим ключом являются регион и месяц.
  4. Оставьте настройки производительности по умолчанию до тех пор, пока панель мониторинга не станет заметно медленнее и вы не сможете доказать, что обещание выполнено.
  5. Запишите, какие таблицы связаны и с чем, в книге или рядом с ней. Следующий человек не сможет увидеть ваши рассуждения в виде кривой линии.

Если у вас под рукой есть бумага и пять свободных минут, стоит сделать один рисунок, и он не является обязательным. Нарисуйте две таблицы в виде прямоугольников, напишите внизу, что означает каждая строка, и проведите линию. Затем напишите число, которое вы ожидаете получить в маленькой таблице. Проверка этого предположения по Tableau — это самый быстрый аудит модели данных.

Потренируйтесь в этом перед экзаменом.

тот Комплект Основы рабочего стола Tableau охватывает соединение и подготовку данных, что составляет 23% экзамена, с практическими вопросами об отношениях, соединениях, союзах и сочетаниях. Он запускается в браузере и соответствует формату реального экзамена.

Открыть комплект сертификации →

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

Все на одном экране

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

концепцияЧто он делает
отношениеКонтракт, описывающий, как можно сопоставить две таблицы. Не объединяет их.
лапшаГибкая линия, показывающая этот контракт на логическом холсте.
Логический уровеньВерхнее полотно. Отношения живут здесь. Столы остаются отдельными.
Физический уровеньДважды щелкните таблицу. Здесь живут объединения и союзы. Таблицы объединяются.
уровень детализацииЧто означает одна строка таблицы. Отношения сохраняют это.
Завышенная суммаСоединение повторяет значение небольшой таблицы в каждой соответствующей строке, а затем SUM считает каждую копию.
Почему отношения исправляют ситуациюСначала он агрегирует каждую таблицу, а затем объединяет результаты.
Непревзойденные значенияСохраняется, а не удаляется, в отличие от внутреннего соединения.
Объединение таблиц (JOIN)Добавляет столбцы путем сопоставления ключа и окончательно объединяет таблицы.
СоюзСкладывает ряды одинаковой формы. Ключ не задействован.
СмешиватьОбъединяет два отдельных источника данных, агрегируя каждый из них сначала. Другая особенность.
МощностьСколько рядов совпало с каждой стороны. Один или несколько.
Ссылочная целостностьВсегда ли каждая запись имеет совпадение. Ошибка меняет цифры, а не только скорость.
Неиспользуемые таблицыНе запрашивается вообще, если в представлении нет ни одного поля из них.
ПредставленоТаблица 2020.2. По умолчанию с тех пор. В старых книгах сохраняется старая модель.
Единственная привычка, которую следует сохранить. Если вы больше ничего не извлекаете из этой страницы, произнесите вслух уровень детализации обеих таблиц, прежде чем соединять их. Разные уровни детализации — вот единственная причина, по которой существуют отношения, и, услышав свои слова «одна строка на заказ» и «одна строка в месяц», вы поймете, какой инструмент вам нужен, прежде чем прикасаться к чему-либо.

Еще одна мысль, и мне бы искренне хотелось услышать ответы других людей. Завышенная цель — это версия, с которой в конечном итоге сталкивается каждый, потому что цель — это число, которое люди уже знают наизусть. Какое число наконец заставило вас проверить вашу модель данных, и насколько оно далеко?

Вы можете построить диаграмму. Сложнее всего сказать, почему Tableau поместила туда цифры.

Таблица для аналитиков это 110 страниц о том, как на самом деле думает Tableau: измерения против мер, отношения против объединений, наборы и уровень детализации. Достаточно того, что вы перестанете перетаскивать поля, пока все не станет выглядеть правильно.

Таблица для аналитиков, $19 →

Ссылки

Стройте диаграммы, а не только модели.

тот Курс Tableau рассказывает о измерениях, мерах, агрегировании и построении информационных панелей с проработанными примерами и карточками. Ничего устанавливать, учетная запись не требуется.

Откройте набор таблиц →