Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие по QlickView.pdf
Скачиваний:
159
Добавлен:
18.03.2016
Размер:
4.74 Mб
Скачать

ЗАГРУЗКА ПЕРЕКРЕСТНЫХ ТАБЛИЦ

УРОК 21 ЗАГРУЗКА ПЕРЕКРЕСТНЫХ ТАБЛИЦ

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

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

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

Начнем с просмотра перекрестной таблицы в приложении Excel (или в любой аналогичной программе).

Откройте проводник, найдите файл Crosstable1.csv в директории

..\Tutorial\Advanced\Data Sources и дважды щелкните его.

Файл откроется в приложении Excel. Он выглядит так, как показано ниже.

Рис. 68. Файл Crosstable1.csv

Эта таблица содержит информацию о числе заказов за месяц. Загрузите таблиц- у в QlikView обычным способом.

1Закройте файл.

2Запустите QlikView и выберите Новый в меню Файл. Задайте имя документа Crosstable1.qvw и сохраните его в папке Advanced.

3Откройте диалоговое окно Редактор скрипта.

4Щелкните Табл. поля и найдите файл Crosstable1.csv в папке Advanced в каталоге Data Sources. Нажмите Открыть.

5Если мастер создания файла выполнил правильную интерпретацию, нажмите Готово.

В скрипте сгенерирован следующий оператор.

Расширенные возможности

217

Load

Year,

 

Jan,

 

Feb,

 

Mar,

 

Apr,

 

May,

 

Jun

FROM

[Data Sources\Crosstable1.csv]

(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

6Загрузите скрипт, щелкнув Загрузка.

7В открытом диалоговом окне Свойства листа добавьте все поля, кроме системных полей, в Поля, отображаемые в списках.

8Нажмите OK. На экране отобразятся следующие списки.

Рис. 69. Результирующие списки

Результатом этого процесса загрузки является появление одного поля для Year

ипо одному полю для каждого месяца. Но это не то, что требовалось. Требовалось сгенерировать три поля: по одному для каждой категории (Year и Month)

иодно для значений данных в матрице.

9Снова откройте диалоговое окно Редактор скрипта.

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

Crosstable(Month,Orders) LOAD Year, Jan,

Feb,

Mar,

Apr,

May,

Jun

FROM Data Sources\Crosstable1.csv

(txt, codepage is 1252, embedded labels, delimiter is ',', msq);

218

ЗАГРУЗКА ПЕРЕКРЕСТНЫХ ТАБЛИЦ

11Щелкните Загрузка. Откроется страница Поля диалогового окна Свойства листа. Переместите поля Month и Orders в столбец отображаемых полей (поле Year уже там), затем нажмите OK.

На экране отобразятся следующие списки.

Рис. 70. Списки, отображающиеся в результате запуска скрипта с использованием префикса crosstable

Распределение значений имеет гораздо больше смысла. Если требуется настроить макет списков (изменить порядок сортировки и число отображаемых столбцов), см. главу «списки и блоки статистики» на стр. 55.

12Удалите устаревшие (теперь пустые) списки для отдельных месяцев.

13Сохраните документ и закройте его.

Загрузка перекрестной таблицы с несколькими обычными столбцами

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

Рис. 71. Crosstable2.csv

Расширенные возможности

219

В этой таблице перед столбцами матрицы располагаются два обычных столбца: Salesman и Year. Возможно, потребуется, чтобы система QlikView отобразила содержимое таблицы с использованием четырех полей.

Поле Salesman содержит значения первого (обычного) столбца.

Поле Year содержит значения второго (обычного) столбца.

Поле Month содержит заголовки оставшихся столбцов.

Поле Sales содержит значения оставшихся столбцов.

Чтобы получить этот результат, выполните следующее.

1Выберите Новый в меню Файл.

2Задайте имя документа Crosstable2.qvw и сохраните его в папке Advanced. Откройте диалоговое окно Редактор скрипта.

3Щелкните Табл. поля и найдите файл Crosstable2.csv в папке Advanced

в каталоге Data Sources. Нажмите Открыть. Откроется Мастер создания файла. Этот мастер будет использоваться для создания оператора crosstable.

4Дважды нажмите Далее >. Откроется страница Мастер создания файла: Опции.

5Нажмите кнопку Кросстаблица. Откроется мастер CrossTable.

6ВполеОпред. поля задайтечислоопределяющихполей, которыебудут предшествовать таблице, которая будет трансформирована в 2.

7В Поле атрибута введите имя нового поля, в котором будут содержаться названия месяцев. Введите Month.

220

ЗАГРУЗКА ПЕРЕКРЕСТНЫХ ТАБЛИЦ

8В Поле данных, т. е. в поле, в котором объединены цифры объема продаж, введите Sales.

Рис. 72. Мастер CrossTable использует цветовое кодирование для разных типов полей

9Нажмите OK. Теперь на панели просмотра можно увидеть трансформированную таблицу.

Рис. 73. Трансформированная таблица в мастере создания файлов

10Нажмите Готово. Сгенерированный оператор скрипта выглядит следующим образом.

Расширенные возможности

221

CROSSTABLE(Month, Sales, 2) LOAD Salesman,

Year,

Jan,

Feb,

Mar,

Apr,

May,

Jun

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

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

11Загрузите скрипт, щелкнув Загрузка.

12Откроется страница Поля диалогового окна Свойства листа. Переместите все поля в столбец отображаемых полей и нажмите OK.

На экране отобразятся следующие списки.

Рис. 74. Результирующие списки

13Сохраните документ и закройте его. Если какое-то время не планируется работать с QlikView, можно выйти из программы.

Для получения более подробного описания синтаксиса префикса crosstable см.

Справочное руководство по QlikView.

222