Миграция документов QlikView
На этой странице описана миграция документов QlikView и связанного содержимого. Здесь также приводятся рекомендации, ограничения и замечания.
Ограничения приложения
В следующей таблице описываются базовые размеры приложений, разрешенные в Qlik Cloud в зависимости от подписки.
Тип приложения | Поддерживаемый размер приложения (в памяти) | Пик использования памяти во время запланированной перезагрузки | Пик использования памяти во время ручной перезагрузки |
---|---|---|---|
Стандартный уровень | До 5 ГБ | До 15 ГБ | До 10 ГБ |
Большая емкость приложений | До 50 ГБ | Зависит от приобретаемой емкости | Зависит от приобретаемой емкости |
Определение размера приложения
Размер приложения можно определить двумя способами:
-
Размер в памяти на момент последней перезагрузки приложения
-
Размер на диске
Используйте следующие инструменты для определения размера приложения:
-
Информационная панель QlikView, лист Сложность (только английский язык) — на этом листе указывается размер на диске.
-
QlikView to SaaS Migration App в инструментах миграции Qlik Cloud предусмотрен специальный раздел на вкладке Migration Tools (Инструменты миграции) в виде AssessQlik Cloud (Оценка). В этом разделе оценивается базовое потребление ресурсов ОЗУ и идентифицируется, какие приложения будут соответствовать стандартному уровню, а какие нет.
Решение проблем, связанных с размером приложений
Если возникают проблемы с выделением большого объема памяти, существуют два основных подхода к их устранению.
-
Проверьте и необходимым образом обновите скрипт загрузки данных:
-
Удалите неиспользуемые поля и строки из числа загружаемых.
-
Отбросьте таблицы, которые больше не используются в обработке данных.
-
Внедрите инкрементные загрузки для оптимизации объема обрабатываемых данных.
-
Используйте оптимизированные загрузки QVD.
-
-
Добавьте емкость клиенту, чтобы увеличить рабочие нагрузки. См. раздел Поддержка больших приложений.
Другие ограничения и замечания
Облачные развертывания, как правило, не обеспечивают доступ к файловой системе хоста или сервера, поэтому используйте эти модификации скрипта загрузки при миграции скрипта загрузки с локального приложения на Qlik Cloud.
Расширения
Расширения QlikView не работают в Qlik Cloud. Это относится как к расширениям сервера, так и к расширениям документов.
На сайте для разработчиков Qlik Cloud см. содержимое, связанное с пользовательской разработкой, включая справочники по API и наборы инструментов Toolkits.
В Qlik Cloud имеются некоторые ограничения при работе с расширениями по сравнению с Qlik Sense Enterprise Client-Managed. Для получения дополнительной информации см. раздел Управление расширениями.
Необходимо добавлять запросы на внешние ресурсы в список разрешенных на экране Консоль управления > Политика безопасности содержимого. См. Управление политикой безопасности содержимого.
Темы
Конфигурацию стиля приложения нельзя перенести из QlikView в Qlik Cloud. Информацию о настройке стиля приложения Qlik Cloud и о пользовательских темах см. в разделе Стиль приложения.
GeoAnalytics
Функция объекта расширения QlikView GeoAnalytics встроена в собственный объект карты Qlik Sense. Приложения Qlik Sense нельзя создавать с использованием этих устаревших объектов. Объекты необходимо создавать заново с помощью собственного объекта карты Qlik Sense.
Переход с Коннектор GeoAnalytics на Qlik GeoOperations
Qlik GeoOperations в Qlik Cloud предлагает функции и операции, аналогичные функциям Коннектор GeoAnalytics в QlikView. Они также поддерживают много одинаковых форматов данных. У них есть следующие различия.
- Qlik GeoOperations — это решение Advanced Analytics Integration (AAI), которое больше подходит для отправки и обработки данных, чем коннектор.
- Синтаксис скриптов для решения Advanced Analytics Integrations отличается от синтаксиса скриптов для коннекторов.
- Некоторые операции GeoOperations можно также использовать в выражениях диаграмм.
- Qlik GeoOperations возвращает одну таблицу. Если сравнивать с тем, что возвращает коннектор Коннектор GeoAnalytics, таблицы в Qlik GeoOperations объединяются.
- В Qlik GeoOperations некоторые поля и параметры были переименованы для большей согласованности.
Ниже описывается, как преобразовать скрипт, созданный мастером Коннектор GeoAnalytics, в формат Qlik GeoOperations.
- В редакторе загрузки данных, в коде скрипта Коннектор GeoAnalytics, скопируйте все после SQL до второго SELECT или «;», в зависимости от того, что встретится раньше.
- Замените все ' в скрипте Коннектор GeoAnalytics на ".
-
Добавьте выбранные имена полей из второго оператора SELECT в скрипте Коннектор GeoAnalytics в первый оператор SELECT в скрипте GeoOperations. Опустите поля, которые уже есть. Добавьте имя исходной таблицы к именам полей, разделяя их точкой. Например, table.field. Это создаст одну объединенную таблицу вместо нескольких таблиц.
-
Просмотрите справочную документацию по операции и набору данных и при необходимости скорректируйте имена параметров или полей.
Общие сведения о ключевых различиях см. в разделе Различия полей GeoOperations и GeoAnalytics
-
Добавьте следующее в начало скрипта GeoOperations:
Load * Extension GeoOperations.ScriptEval('
-
Добавьте следующее в конец скрипта GeoOperations:
');
Если используется загруженная таблица с Коннектор GeoAnalytics, отправьте ее вместо этого в качестве второго параметра в GeoOperations.ScriptEval.
Поскольку Qlik GeoOperations возвращает объединенную таблицу, из дополнительных таблиц возвращаются только те значения полей, которые имеют соответствующее значение в основной таблице. Например, если необходимо найти ближайшие аэропорты в Германии для некоторых точек, возвращаются только данные об аэропортах, которые находятся ближе всего к этим точкам. Если требуются все аэропорты в Германии, их нужно загрузить отдельно с помощью операции LOAD.
При загрузке из базы данных SQL с помощью коннектора, вместо этого данные должны быть загружены с помощью одного из коннекторов базы данных, например коннектора ODBC. Убедитесь, что геометрии загружены как WKT (применяйте функцию, обычно называемую st_asText() в запросе SQL). Затем преобразуйте поле WKT, отправив таблицу в Qlik GeoOperations. Затем он вернет поле с геометриями в формате Qlik Sense.
Пример преобразования скрипта
В данном примере преобразования скрипта будет использоваться следующий скрипт Коннектор GeoAnalytics:
Выполните следующие действия.
-
Возьмите скрипт между SQL и вторым оператором SELECT.
SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance='10000', points='Points') DATASOURCE Points LOCATIONSERVICE geometry='POINT', type='XIATA', country='de', serviceName='default' -
Замените кавычки:
SELECT [LocationDbId], [Clusters_ClusterID] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default" -
Добавьте поля из дополнительных таблиц:
SELECT [LocationDbId], [Clusters_ClusterID], [Clusters.Clusters_ClusterCenter] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default" -
Скорректируйте имена параметров и полей:
SELECT [LocationDbId], [ClusterID], [Clusters.ClusterPoint] as [Clusters_ClusterCenter] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default" -
Заключите в код шаблона:
Load * Extension GeoOperations.ScriptEval(' SELECT [LocationDbId], [ClusterID], [Clusters.ClusterPoint] as [Clusters_ClusterCenter] FROM Cluster(distance="10000", points="Points") DATASOURCE Points LOCATIONSERVICE geometry="POINT", type="XIATA", country="de", serviceName="default" ');
Этот код скрипта теперь можно использовать с Qlik GeoOperations.
Различия полей GeoOperations и GeoAnalytics
Поля по умолчанию в GeoOperations и GeoAnalytics отличаются, как правило, префиксами. При миграции скриптов GeoAnalytics в GeoOperations может потребоваться скорректировать некоторые имена полей.
AddressToPoint
GeoOperations и GeoAnalytics возвращают следующие поля:
-
GeoOperations: <id>, Address, AddressPoint, CountryIso2, Adm1, City, PostalCode, Street, HouseNumber, Match
-
GeoAnalytics: [<id>], [Dataset_Address], [Dataset_Geometry], [CountryIso2], [Dataset_Adm1], [Dataset_City], [Dataset_PostalCode], [Dataset_Street], [Dataset_HouseNumber], [Dataset_Match]
GeoAnalytics и GeoOperations имеют следующие различия:
-
GeoAnalytics Поля имеют префиксы, специфические для набора данных.
-
Dataset_Geometry называется AddressPoint в GeoOperations.
Разбиение на группы
GeoOperations и GeoAnalytics возвращают следующие поля:
-
GeoOperations: <id>, BinId, BinTable.BinPolygon, BinTable.CenterPoint
-
GeoAnalytics: [<id>], [RH2W3], [RH2W3_CenterPoint]
GeoAnalytics и GeoOperations имеют следующие различия:
-
В GeoAnalytics RH2W3 — это поле многоугольника, его имя генерируется в зависимости от размера сетки и соотношения сторон. В GeoOperations это поле BinTable.BinPolygon.
-
GeoAnalytics не имеет поля BinId.
Ближайший
GeoOperations и GeoAnalytics возвращают следующие поля:
-
GeoOperations: dataset_dataset2_RelationId, dataset.<ds1 id>, dataset2.<ds2 id>, Distance
-
GeoAnalytics: [Dataset1_Dataset2_RelationId], [Dataset1.<ds1 id>], [Dataset2.<ds2 id>], [Dataset1_Dataset2_Distance]
GeoAnalytics и GeoOperations имеют следующие различия:
-
GeoOperations не имеет префиксов для поля Distance.
Кластер
GeoOperations и GeoAnalytics возвращают следующие поля:
-
GeoOperations: <id>, ClusterID, Clusters.ClusterPoint, Clusters.PointCount
-
GeoAnalytics: [<id>], [Clusters_ClusterID], [Clusters_ClusterCenter], [Clusters_PointCount]
GeoAnalytics и GeoOperations имеют следующие различия:
-
В GeoOperations и GeoAnalytics используются разные префиксы.
Разделение
GeoOperations и GeoAnalytics возвращают следующие поля:
-
GeoOperations: <id>, DissolvedPolygon
-
GeoAnalytics: [<id>], [<id>_Geometry]
GeoAnalytics и GeoOperations имеют следующие различия:
-
Имя столбца геометрии
Пересекает
GeoOperations и GeoAnalytics возвращают следующие поля:
-
GeoOperations: dataset_dataset2_RelationId, dataset.<dataset1 id>, dataset2.<dataset2 id>, dataset.RelativeOverlap, dataset2.RelativeOverlap
-
GeoAnalytics: [Dataset1_Dataset2_RelationKey], [Dataset1.<ds1 id>], [Dataset2.<ds1 id>], [Dataset1_RelativeOverlap], [Dataset2_RelativeOverlap]
GeoAnalytics и GeoOperations имеют следующие ключевые различия:
-
В GeoOperations и GeoAnalytics используются разные префиксы.
IpLookup
GeoOperations и GeoAnalytics возвращают следующие поля:
-
GeoOperations: <id>, IpPoint, CountryIso2, Adm1Code, City
-
GeoAnalytics: [<id>], [IpTable_Geometry], [CountryIso2], [IpTable_Adm1Code], [IpTable_City]
GeoAnalytics и GeoOperations имеют следующие различия:
-
IpTable_Geometry в GeoAnalytics соответствует IpPoint в GeoOperations.
-
В GeoOperations и GeoAnalytics используются разные префиксы.
Load (набор данных местоположений)
GeoOperations и GeoAnalytics возвращают следующие поля:
-
GeoOperations (area): LocationDbId, LocationPolygon, Name, CountryIso2, Adm1Code, Adm2Code, LocationDbType
-
GeoOperations (point): LocationDbId, LocationPoint, Name, CountryIso2, Adm1Code, Adm2Code, LocationDbType
-
GeoAnalytics: [LocationDbId], [Dataset_Geometry], [Dataset_Name], [CountryIso2], [Dataset_Adm1Code], [Dataset_Adm2Code], [LocationDbType]
GeoAnalytics и GeoOperations имеют следующие различия:
-
Поля геометрии LocationPolygon и LocationPoint в GeoAnalytics соответствуют Dataset_Geometry в GeoOperations.
-
В GeoOperations и GeoAnalytics используются разные префиксы.
PointToAddress
GeoOperations и GeoAnalytics возвращают следующие поля:
-
GeoOperations: <id>, Address, AddressPoint, CountryIso2, Adm1, City, PostalCode, Street, HouseNumber, Distance
-
GeoAnalytics: [<id>], [Dataset_Address], [Dataset_Geometry], [CountryIso2], [Dataset_Adm1], [Dataset_City], [Dataset_PostalCode], [Dataset_Street], [Dataset_HouseNumber], [Dataset_Distance]
GeoAnalytics и GeoOperations имеют следующие различия:
-
В GeoOperations и GeoAnalytics используются разные префиксы.
Маршруты
GeoOperations и GeoAnalytics возвращают следующие поля:
-
GeoOperations: <id>, Distance, Duration, Status, LowResLine
-
GeoAnalytics: [<id>], [Dataset_Distance], [Dataset_Duration], [Dataset_Status], [Dataset_PathLowRes]
GeoAnalytics и GeoOperations имеют следующие различия:
-
Поле геометрии Dataset_PathLowRes в GeoAnalytics соответствует LowResLine в GeoOperations.
-
В GeoOperations и GeoAnalytics используются разные префиксы.
Упростить
GeoOperations и GeoAnalytics возвращают следующие поля:
-
GeoOperations: <id>, Simplified_<geo field name>
-
GeoAnalytics: [<id>], [Dataset_Simplified_Geometry]
.GeoAnalytics и GeoOperations имеют следующие различия:
-
В GeoOperations и GeoAnalytics отличаются имена полей геометрии.
TravelAreas
GeoOperations и GeoAnalytics возвращают следующие поля:
-
GeoOperations: <id>, TravelArea, Cost, CostUnit, Status
-
GeoAnalytics: [<id>], [Dataset_TravelArea], [Dataset_Origin], [Dataset_Cost], [Dataset_CostUnit], [Dataset_Status]
GeoAnalytics и GeoOperations имеют следующие различия:
-
GeoOperations не включает поле происхождения.
-
В GeoOperations и GeoAnalytics используются разные префиксы.
В пределах
GeoOperations и GeoAnalytics возвращают следующие поля:
-
GeoOperations: dataset_dataset2_RelationId, dataset.<dataset1 id>, dataset2.<dataset2 id>
-
GeoAnalytics: [Enclosed_Enclosing_RelationId], [Enclosed.<dataset 1/2 id>], [Enclosing.<datasets 1/2 id>]
GeoAnalytics и GeoOperations имеют следующие различия:
-
Префиксы GeoOperations включают имена наборов данных, а в GeoAnalytics также используется префикс Enclosed.
Миграция документов
Следуйте этой процедуре при миграции документов QlikView в приложения Qlik Sense, которые можно использовать в Qlik Cloud.
Выполните следующие действия.
-
Оцените, идентифицируйте и приоритизируйте документы QlikView в рамках подготовки к миграции. Можно использовать лист Сложность (только английский язык) в Информационная панель QlikView или функцию Explore Objects (Исследовать объекты) на вкладке Migration Tools (Инструменты миграции) в QlikView to SaaS Migration App.
-
Преобразуйте документы QlikView в приложение Qlik Sense с помощью Преобразователь QlikView. См. следующие примеры:
-
Загрузите преобразованный документ QlikView в Qlik Cloud.
Примечание к информацииМожно выполнить массовую загрузку преобразованных документов QlikView в Qlik Cloud с использованием скрипта CLI 7_migrateapps.ps1, который предоставляется в составе инструментов миграции Qlik Cloud. В ссылке на приложение для импорта, в файле exports/apps.csv, уберите расширение .qvf из значения 'QSAppName'.
Задачи перезагрузки
В Qlik Cloud можно вручную повторно создать задачи перезагрузки.
Используйте QlikView to SaaS Migration App для идентификации задачи перезагрузки. Задачи перезагрузки перечислены в таблице QVPR Task Trigger Details (Сведения о триггерах задач QVPR) на вкладке Migration Tools (Инструменты миграции) в разделе Explore QVPR (Исследовать QVPR).
Запишите все сведения о задачах, а затем вручную воссоздайте их в клиенте Qlik Cloud.
Информацию о создании задач перезагрузки см. в разделе Создание графика перезагрузки данных приложения.
Если внедрены цепочки задач, то необходимо использовать Qlik Application Automation (QAA). См. Формирование цепочки задач: учебное пособие.
Рекомендации по преобразованию документов QlikView
При планировании преобразования следует учесть следующую информацию.
Преобразователь QlikView
Преобразователь QlikView — инструмент, предназначенный для преобразования документов QlikView в приложения Qlik Sense. Этот инструмент можно использовать для перемещения части содержимого, разработанного в документах QlikView, в приложение Qlik Sense.
Инструмент для преобразования может использоваться в Qlik Sense Desktop. Нельзя использовать Преобразователь QlikView для преобразования документов, которые занимают больше 500 МБ на диске. Чтобы уменьшить размер документа, не теряя ресурсы, можно уменьшить в нем объем данных или сохранить документ без данных. Для получения дополнительных сведений см. Qlik Sense Desktop.
Преобразователь QlikView переместит большинство объектов в Qlik Sense, включая:
- Скрипты
- Большинство переменных. См. раздел Переменные QlikView, исключенные из экспорта
- Списки
- Диаграммы и таблицы
Конвертер не может преобразовать определенные объекты. Объекты, которые невозможно преобразовать, включают следующие:
- Контейнеры
- Триггеры
- Макросы
- Условные операторы
- Текстовые поля
- Слои объектов
- Пользовательские цвета диаграммы
- Выражения в списках
Многие из вышеупомянутых объектов могут быть воссозданы вручную в Qlik Sense. Например, поведение триггеров, которые не преобразованы, при открытии может быть воссоздано с помощью закладок по умолчанию в Qlik Sense.
Преобразователь показывает лишь некоторые объекты, которые не сконвертированы. Рекомендуется создать полистовой перечень всех объектов в QlikView и сравнить его с теми объектами, которые перечислены в преобразователе.
Преобразователь QlikView (только английский язык)
Скрипт загрузки данных
QlikView и скрипты загрузки данных в целом совместимы, однако существуют некоторые различия, на которые следует обратить внимание. Перед перезагрузкой данных необходимо адаптировать скрипт с помощью редактора загрузки данных.
QlikView использует абсолютные или относительные пути файлов, которые не поддерживаются стандартным режимом Qlik Sense, поэтому для указания местоположений файлов необходимо использовать подключения к данным папок.
Синтаксис QlikView
Синтаксис Qlik Sense
Вкладки скрытого скрипта
Во время преобразования документа QlikView со скрытым скриптом часть документа со скрытым скриптом будет проигнорирована и не будет включена в скрипт Qlik Sense. Перед преобразованием документа откройте его в редакторе скриптов QlikView, скопируйте код с вкладок скрытого скрипта и вставьте его на вкладки обычного скрипта. Обратите внимание, что скрыть код скрипта в Qlik Sense нельзя.
Стандартный режим
В стандартном режиме некоторые операторы и функции нельзя использовать либо существуют ограничения на их использование. Для получения дополнительной информации см. документ «Ограничение доступа к файловой системе».
Section Access
Импорт документа QlikView с доступом к секции в программу Qlik Sense не поддерживается вследствие различий в формате и поддерживаемых функциях.
При преобразовании документа с доступом к секции необходимо выполнить следующие действия.
- Перед преобразованием документа удалите код доступа к секции в редакторе скриптов QlikView.
- Преобразуйте документ.
- Повторно примените доступ к секции в приложении Qlik Sense.
В Qlik Sense есть некоторые различия, которые нужно учесть:
- Способ проверки подлинности пользователя изменяется. Поле USERID используется для проверки подлинности всех пользователей, а поля NTNAME и PASSWORD не поддерживаются.
- Доступ к секции применяется с использованием строгого исключения Qlik Sense. Это означает, что видимы только данные, к которым вам предоставлен доступ.
Если у вас есть доступ к скрипту, но не к данным, можно открыть приложение без данных и отредактировать скрипт, включая доступ к секции.
Для получения дополнительной информации см. раздел Управление безопасностью с помощью Section Access.
Нотация для кавычек в анализе множеств
Нотация для кавычек в анализе множеств в старых документах QlikView или в документах, созданных в старых версиях QlikView, отличается от нотации в Qlik Sense. Возможно, потребуется изменить определенные выражения анализа множеств в Qlik Sense.
Старая нотация
В старой нотации одинарные и двойные кавычки ведут себя одинаково. Как одинарные, так и двойные кавычки интерпретируются как поиск. Можно использовать подстановочные знаки (*, ?).
Новая нотация
В новой нотации одинарные и двойные кавычки ведут себя по-разному.
Одинарные кавычки интерпретируются как сравнение строковых литералов. Может быть найдено только одно значение поля, и подстановочные знаки не разрешены в строке поиска. Например, звездочка интерпретируется как звездочка.
Двойные кавычки интерпретируются как поиск. Подстановочные знаки и реляционные операторы разрешены, и несколько значений поля могут быть найдены.
Например, может потребоваться изменить Sum({$<Country={'Austr*'}>}Sales) на Sum({$<Country={"Austr*"}>}Sales)
Аналогично числовые сравнения или сравнения переменных, возможно, придется изменить. Например, может потребоваться изменить Duration={'>3'} на Duration={">3"}
Переменные QlikView, исключенные из экспорта
Экспорт ряда переменных из документа QlikView не поддерживается, так как они используются только в QlikView или требуют иного порядка обработки в Qlik Sense.
Экспорт следующих переменных не поддерживается:
- Все переменные, начинающиеся с CD
- Все переменные, начинающиеся с FLOPPY
- QvPath, QvRoot, QvWorkPath, QvWorkRoot
- WinPath, WinRoot
- ErrorMode
- StripComments
- ScriptErrorCount, ScriptError
- ThousandSep, DecimalSep, MoneyThousandSep, MoneyDecimalSep, MoneyFormat
- TimeFormat, DateFormat, TimestampFormat
- MonthNames, DayNames
- ScriptErrorDetails, ScriptErrorList
- OpenUrlTimeout
- HidePrefix
- FirstWeekDay
- BrokenWeeks
- ReferenceDay
- FirstMonthOfYear
- CollationLocale
- LongMonthNames, LongDayNames