exponenta event banner

Объединить таблицы

Объединение двух таблиц с использованием ключевых переменных в интерактивном редакторе

Описание

Задача Объединение таблиц (Join Tables) позволяет в интерактивном режиме объединять две таблицы, выполняя соединения или объединяя таблицы по горизонтали или вертикали. Задача автоматически генерирует код MATLAB ® для сценария в реальном времени.

С помощью этой задачи можно:

  • Выполнение соединений, включая внутренние и внешние соединения, с таблицами путем указания ключевых переменных - переменных таблиц, совпадающие значения которых или ключевые значения определяют, какие строки объединяются в выходную таблицу.

  • Горизонтально или вертикально объединять таблицы с одинаковым количеством строк или переменных соответственно.

Join Tables task in Live Editor

Открыть задачу

Чтобы добавить задачу «Объединение таблиц» в живой сценарий в редакторе MATLAB, выполните следующие действия.

  • На вкладке «Интерактивный редактор» выберите «Задача» > «Объединить таблицы».

  • В блоке кода в сценарии введите соответствующее ключевое слово, например join или tables. Выберите «Объединить таблицы» в списке предлагаемых завершений команды.

Примеры

развернуть все

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

Сначала загрузите orders , которая содержит идентификаторы заказов, имена клиентов и дату заказа для ряда отгрузок.

load orders

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

load items

Откройте задачу «Объединение таблиц». Чтобы открыть задачу, введите ключевое слово join в кодовом блоке и нажмите Join Tables при появлении в меню.

Используйте задачу для выполнения внутреннего соединения orders и items. При открытии задачи:

  1. Выбрать orders и items в виде левой и правой таблиц соответственно.

  2. Выбрать OrderID в качестве объединяющей переменной для обеих таблиц.

  3. Нажмите кнопку «Внутреннее соединение».

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

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

  • Только значения 1037 и 5120 в обеих входных таблицах. Поэтому выходная таблица содержит данные только для этих двух заказов.

  • Стоимость 1037 происходит несколько раз в items, один раз для каждого элемента, но только один раз в orders. Следовательно, CustomerID и OrderDate значения, соответствующие 1037 копируются столько раз, сколько требуется в выходных данных.

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

  1. Нажмите кнопку Левое внешнее соединение.

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

  3. Просмотр сгенерированного вызова outerjoin щелкните маленькую стрелку в разделе Показать результаты (Display results).

Выходная таблица теперь включает данные для заказа. 8937. Однако, потому что items таблица для заказа 8937 не имел элементов, остальная часть строки заполнена пустыми значениями (такими как '', NaN, или <undefined>). Внешние элементы заполняют элементы таблицы пустыми значениями, если левая или правая таблицы не имеют данных, связанных с ключевым значением.

  • Полные внешние соединения включают все ключевые значения и данные из обеих таблиц.

  • Левое внешнее соединение включает все ключевые значения и данные из левой таблицы, но только совпадающие ключевые значения и связанные данные из правой.

  • Правые внешние соединения включают все ключевые значения и данные из правой таблицы, но только совпадающие ключевые значения и связанные данные слева.

Связанные примеры

Параметры

Укажите имя из списка всех непустых таблиц и расписаний в рабочей области.

Укажите имя из списка всех непустых таблиц и расписаний в рабочей области.

Укажите имя переменной из списка переменных в левой или правой таблице.

  • Раскрывающийся список левой таблицы содержит полный список ее переменных.

  • Раскрывающийся список для правой таблицы содержит подмножество переменных. Список переменных объединения из правой таблицы ограничен выбором переменных объединения из левой таблицы.

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

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

См. также

| |

Представлен в R2019b