Загрузка и ассоциирование второй таблицы 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Загрузка и ассоциирование второй таблицы



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

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

1. Выберите "Редактор скрипта" в меню "Файл" или на панели инструментов.

2. Поместите курсор в конце скрипта.

3. Щелкните "Табл. поля".

4. Выберите Customer.xls в каталоге..Tutorial\Creating a Document\Data Sources и нажмите кнопку "Открыть". При этом будет открыт мастер файлов.

5. Обратите внимание, что в этом случае в качестве типа файла будет установлено значение Excel (xls) и что поле "Таблицы" содержит имя рабочего листа. Этот документ Excel содержит только один рабочий лист; если бы в документе содержалось несколько листов или именованных таблиц, поле Таблицы содержало бы несколько имен, одно из которых можно было выбрать для вызова данных.

6. В раскрывающемся списке "Метки" выберите "Встроенные метки".

7. Щелкните "Готово". Скрипт должен выглядеть, как показано ниже.

Directory; LOAD Country,

Capital, [Area(km.sq)], [Population(mio)],

[Pop. Growth], Currency, Inflation,

[Official name of Country]

FROM Data Sources\Country1.csv (txt, codepage is 1252, embedded labels, delimiter is ',', msq);

Directory;

LOAD [Customer ID], Customer, Address,

City, Zip, Country

FROM Data Sources\Customer.xls

(biff, embedded labels, table is [CUSTOMER$]);

1. Изучите скрипт. Файлы Country1.csv и Customer.xls содержат поле с именем Country. В соответствии с правилами ассоциирования, описанными выше, QlikView выполнит ассоциирование двух таблиц посредством этого поля.

2. Выберите "Загрузка".

3. Откроется диалогового окно, в котором можно выбрать поля для отображения. Поля из файла Customer.xls будут добавлены в столбец доступных полей. Поле Country будет ассоциировано с ранее загруженными полями, имеющими такое же имя. Таким образом, поле Country будет выполнять роль так называемого «ключевого» поля, что обозначено небольшим значком ключа, расположенным рядом с ним.

4. Добавьте поля Customer и Country в столбец отображаемых полей.

5. Выберите "OK".

6. Сохраните документ. 

Теперь можно щелкнуть на столице и найти клиентов, располагающихся в соответствующей стране; в то же время, они расположены в реестре клиентов. Это стало возможным, хотя поля Customer и Capital расположены в разных таблицах. Единственным предварительным условием является то, чтобы в обеих таблицах было общее поле Country.

1. Щелкните на значении Astana, это столица Казахстана; обратите внимание, что вымышленная компания имеет двух клиентов в Казахстане.

2. Снимите выделение всех элементов.

Был создан простой документ QlikView, содержащий данные из двух таблиц. Таким способом можно связать (ассоциировать) несколько таблиц, что позволяет просматривать сложные взаимосвязи данных в разных таблицах.

Переименование полей

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

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

В каталоге содержатся дополнительные файлы (таблицы), относящиеся к документу. Предположим, что необходимо ассоциировать файл Transact.csv, файл, содержащий информацию о транзакциях, продажах и т. д., относительно клиентов в документе.

1. Выберите "Редактор скрипта" в меню "Файл" или на панели инструментов.

2. Поместите курсор в конце скрипта.

3. Выберите "Табл. поля".

4. Выберите Transact.csv и нажмите кнопку "Открыть". Откроется "Мастер создания файла".

5. Убедитесь в том, что в качестве типа выбрано значение "С разделителями", в качестве разделителя выбрано значение "Запятая", а также, что установлен флажок "Встроенные метки".

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

1. Щелкните на заголовке поля ID Customer, затем введите новое имя Customer ID. Убедитесь в том, что между словами поставлен пробел: любое несоответствие в написании приведет к невозможности интерпретации полей в качестве одного поля в программе QlikView.

2. Нажмите клавишу ENTER. Имя поля будет изменено.

3. Щелкните "Готово".

Автоматически созданный скрипт должен выглядеть так, как показано ниже.

Directory; LOAD Country,

Capital, [Area(km.sq)], [Population(mio)], [Pop. Growth], Currency, Inflation,

[Official name of Country]

FROM Data Sources\Country1.csv (txt, codepage is 1252, embedded labels, delimiter is ',', msq);

Directory;

LOAD [Customer ID], Customer, Address,

City, Zip, Country

FROM Data Sources\Customer.xls

(biff, embedded labels, table is [CUSTOMER$]);

Directory;

LOAD [Transaction ID], Year,

Month, Day,

[Salesman ID],

[Product ID], [Serial No],

 [ID Customer] as [Customer ID],

[List Price], Sales,

[Gross Margin]

FROM Data Sources\Transact.csv (txt, codepage is 1252, embedded labels, delimiter is ',', msq);

Обратите внимание на строку [ID Customer] as [Customer ID]: она была добавлена в результате изменения, сделанного в мастере файлов, и означает, что поле ID Customer будет загружено в QlikView с именем Customer ID (что позволит создать необходимую ассоциативную связь).

1. Выберите "Загрузка".

2. Откроется страница "Поля" диалогового окна "Свойства листа". Добавьте поле из файла Transact.csv в столбец отображаемых полей, например, Sales.

3. Нажмите "OK".

4. Сохраните документ. 

Будут загружены три различные таблицы, содержащие информацию o странах, клиентах и транзакциях соответственно. При выполнении ассоциирования таблиц описанным выше способом в QlikView можно одновременно найти всю связанную информацию из всех таблиц.

1. Выберите Finland в списке Country. Автоматически будут найдены географические данные, расположенные в таблицах, содержащих информацию о странах, однако будут также показаны имена клиентов, расположенных в Финляндии, и соответствующие показатели продаж.

2. Отмените свой выбор.

Примечание! В QlikView можно использовать простые методы ассоциирования таблиц, а также можно связывать поля и таблицы, которые не должны быть связаны. В этом случае в QlikView не удастся получить нужные результаты. Будьте внимательны при назначении имен для полей в различных таблицах, определяя тем самым ассоциативные связи.

Вопросы к лабораторной работе

1. По каким правилам осуществляется ассоциирование?

2. Как можно создать ассоциативные связи?

3. Что представляет собой ассоциация в QlikView?

 



Поделиться:


Последнее изменение этой страницы: 2021-03-09; просмотров: 63; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.59.34.87 (0.008 с.)