Использование префикса Crosstable
Перекрестные таблицы — распространенный тип таблиц, включающих матрицу значений, расположенную между двумя ортогональными списками данных в заголовках. В данных перекрестной таблицы префикс Crosstable можно использовать для преобразования данных и создания желаемых полей.
Префикс Crosstable
В следующей таблице Product есть по одному столбцу для каждого месяца и по одной строке для каждого продукта.
Продукт | Jan 2014 | Feb 2014 | Mar 2014 | Apr 2014 | May 2014 | Jun 2014 |
---|---|---|---|---|---|---|
A | 100 | 98 | 100 | 83 | 103 | 82 |
B | 284 | 279 | 297 | 305 | 294 | 292 |
C | 50 | 53 | 50 | 54 | 49 | 51 |
После загрузки этой таблицы в результате будет получена таблица с одним полем для элемента Product и по одному полю для каждого месяца.
При необходимости проанализировать эти данные удобнее иметь все числа в одном поле, а все месяцы в другом. В таком случае это таблица из трех столбцов, с одним столбцом для каждой категории (Product, Month, Sales).
Префикс Crosstable преобразует данные в таблицу с одним столбцом для категории Month и другим столбцом для категории Sales. Иначе говоря, имена полей преобразовываются в значения полей.
Выполните следующие действия.
- Создайте новое приложение и назовите его Учебное пособие по написанию скриптов продвинутого уровня.
- Добавьте новый раздел скрипта в Редакторе загрузки данных.
- Название раздела Product.
-
Под элементом DataFiles в меню справа щелкните Выбрать данные.
- Загрузите, а затем выберите Product.xlsx.
- Выберите таблицу Product в окне Выбрать данные из.
- Щелкните команду Вставить скрипт.
- Щелкните команду Загрузить данные.
- Откройте раздел Просмотр модели данных. Модель данных выглядит так:
- Щелкните вкладку Product в редакторе загрузки данных.
- Введите следующее над оператором LOAD:
- Щелкните команду Загрузить данные.
- Откройте раздел Просмотр модели данных. Модель данных выглядит так:
Скрипт должен выглядеть следующим образом:
CrossTable(Month, Sales)
Обратите внимание, что обычно входные данные имеют только один столбец в качестве поля-квалификатора; в качестве внутреннего ключа (Product в примере выше). Но можно иметь несколько. Если так, то все поля-квалификаторы должны быть указаны перед полями атрибутов в операторе LOAD, а третий параметр для префикса Crosstable необходимо использовать для определения числа полей-квалификаторов. Нельзя ставить предшествующий оператор LOAD или префикс перед ключевым словом Crosstable. Однако можно использовать автоматическое объединение.
Данные таблицы в Qlik Sense выглядят следующим образом:
Теперь вы можете, например, создать линейчатую диаграмму, используя следующие данные:
Числовая интерпретация не работает для полей атрибутов. Это значит, что если в качестве заголовков столбцов указаны месяцы, они не будут автоматически интерпретированы. Обходной прием с целью использования префикса Crosstable для создания временной таблицы и запуска второго прохода по ней, чтобы выполнить интерпретации, как показано в следующем примере.
Обратите внимание, что это просто пример. Здесь нет сопутствующих упражнений, которые следует выполнить в Qlik Sense.
Очистка кэша памяти
Чтобы очистить кэш памяти, созданные таблицы можно удалить. При использовании временной таблицы для выполнения загрузки, как в предыдущем разделе, эту таблицу можно удалить, когда в ней больше не будет необходимости. Пример.
Можно также удалить поля. Пример.
Как видите, ключевые слова TABLE и FIELD могут иметь как единственное, так и множественное число.