Объединение таблиц
При разработке отчетов, иногда возникает необходимость объединить таблицы данных. Это можно выполнить различными способами. Например, создать SQL запрос к хранилищу данных или хранимую процедуру. Однако, это можно выполнить при создании нового преобразования данных.
Объединение таблиц может быть:
С использованием связи между этими таблицами;
Не связанных между собой таблиц данных.
Информация |
Ознакомьтесь с информацией о связи между таблицами данных, а также об ограничениях их создания.
|
Рассмотрим пример, объединения разных таблиц данных для этих случаев. Допустим, в первой таблице содержится список категорий продуктов. А во второй таблице - список продуктов, с ценами и объемом продаж. Между этими таблицами можно организовать связь по колонке с уникальными ключами CategoryID.
Объединение несвязанных таблиц данных
Связь между таблицами можно организовать, но на данный момент она отсутствует. Для того чтобы объединить таблицы не связанные между собой, следует выполнить следующие шаги:
Шаг 1: Из словаря данных, в окно Новое преобразование данных, следует перетянуть колонки данных из первой таблицы. Например, колонку данных с названиями категорий - Categories.CategoryName;
Шаг 2: Из словаря данных, в окно Новое преобразование данных, следует перетянуть колонки из второй таблицы. Например, колонки данных с именами продуктов, ценами и количеством ордеров - Products.ProductName, Products.UnitsPrice, Products.UnitOnOrder.
В этом случае, данные будут никак не связаны между собой. Сначала будут выведены данные из таблицы с большим количеством строк данных, затем - данные из таблицы с меньшим количеством строк. В сопоставленных ячейках несвязанных таблиц, для нечисловых полей будет пусто, а для числовых полей - 0.
Объединение таблиц с использованием связи
В этом случае, необходимо создать связь между источниками данных. Кроме этого, если таких связей несколько, например через разные колонки с уникальными ключами, то следует для связи, которая будет использоваться при объединении таблиц, установить параметр Активная связь (Active Relation). Для примера описанного выше, следует создать связь между таблицей категорий и продуктов, через колонку CategoryID.
Для того чтобы объединить таблицы c использованием связи, следует выполнить следующие шаги:
Шаг 1: Создать связь между источниками данных и включить у этой связи параметр Активная связь;
Шаг 2: Из словаря данных, в окно Новое преобразование данных, следует перетянуть колонки из первой таблицы. Например, колонку данных с названиями категорий - Categories.CategoryName;
Шаг 3: Из словаря данных, в окно Новое преобразование данных, следует перетянуть колонки данных из второй таблицы. Например, колонки данных с именами продуктов, ценами и количеством ордеров - Products.ProductName, Products.UnitsPrice, Products.UnitOnOrder.
В этом случае, генератор отчетов определит связь, у которой включен параметр Активная связь и сопоставит данные из разных источников данных. Для описанного выше примера, каждой категории будет соответствовать свой перечень продуктов, их цен и количество ордеров.
Информация |
Если от подчиненного источника данных к главному источнику данных создано, более одной связи и ни у одной из них не установлен параметр Активная связь, то данные будут сопоставлены по первой связи в подчиненном источнике данных.
|