Анализ | Центр миграции Справка
Перейти к основному содержимому Перейти к дополнительному содержимому

Анализ

Последнее обновление: 14.10.2026

QV2QS автоматически сканирует каждый документ QlikView на наличие функций и шаблонов, которые могут потребовать внимания после миграции. Некоторые результаты носят информационный характер. Другие результаты указывают на неподдерживаемую функциональность или области, которые работают в Qlik Sense иначе. Результаты отображаются в разделе Другие выводы краткого резюме и на листе Анализ отчета Excel.

Анализ отделен от отчета о преобразовании. Отчет о преобразовании оценивает, насколько успешно были преобразованы объекты. Анализ выявляет дополнительные проблемы совместимости для развертывания Qlik Cloud.

Что сканируется

QV2QS проверяет семь областей документа QlikView.

Скрытый скрипт

Документы QlikView могут содержать скрытый Скрипт загрузки, который выполняется перед видимым скриптом. Скрытый скрипт хранится внутри сжатого блока в бинарном файле QVW/QVF и не отображается в папке PRJ. QV2QS извлекает скрытый скрипт из бинарного файла и добавляет его в начало видимого Скрипта загрузки в script.qvs. При обнаружении скрытого скрипта на рабочем листе «Анализ» и в разделе «Другие замечания» краткого резюме отображается информационное замечание.

Загрузить шаблоны скриптов

QV2QS сканирует Скрипт загрузки (LoadScript.txt) на наличие операторов и функций, требующих внимания во время миграции. Если присутствует скрытый скрипт, содержимое скрытого скрипта включается в сканирование. Некоторые операторы не поддерживаются в Qlik Sense. Для других шаблонов могут потребоваться корректировки путей или альтернативное решение. Строки комментариев и блочные комментарии исключены из сканирования.

Обнаружены следующие шаблоны:

Образец Описание
Загрузка двоичного файла BINARY оператор, загружающий данные из другого файла QVW. Возможно, потребуется пересмотреть подход к загрузке данных.
Загрузка пакета Операторы BUNDLE или INFO LOAD, которые встраивают изображения в QVW. Не поддерживается в Qlik Sense.
InputField Оператор INPUTFIELD для ввода пользовательских данных. Не поддерживается в Qlik Sense.
Direct Discovery Оператор DIRECT QUERY для подключений к источнику данных в режиме реального времени. Не поддерживается в Qlik Sense.
Включить $(Include=...) или $(Must_Include=...) ссылки на внешние файлы скриптов. Возможно, потребуется скорректировать пути к файлам.
Команда Оператор COMMAND, выполняющий команды операционной системы. Не поддерживается в Qlik Sense.
Выполните: Оператор EXECUTE, запускающий внешние программы. Не поддерживается в Qlik Cloud.
Image_Size Функция Image_Size Не поддерживается в Qlik Sense.
GetCurrentField Функция GetCurrentField Не поддерживается в Qlik Sense.
GetExtendedProperty Функция GetExtendedProperty Не поддерживается в Qlik Sense.
Входное среднее / Входная сумма Агрегатные функции для входных полей. Не поддерживается в Qlik Sense.
MsgBox Функция MsgBox для диалоговых окон. Не поддерживается в Qlik Sense.
NoOfReports Функция NoOfReports Не поддерживается в Qlik Sense.
Комментарий к отчету / Идентификатор отчета / Название отчета / Номер отчета Функции, связанные с отчетами. Не поддерживается в Qlik Sense.

Каждый результат содержит номер строки и текст строки из Скрипта загрузки.

Свойства документа

QV2QS проверяет DocProperties.xml на наличие функций уровня документа, требующих внимания. Некоторые не поддерживаются в Qlik Sense. Другие поддерживаются, но требуют ручной настройки или ведут себя иначе.

Свойство Описание
Section Access Безопасность на уровне строк включена. Qlik Sense поддерживает Section Access, но синтаксис отличается.
Динамическое обновление данных Динамическое обновление данных включено. Не поддерживается в Qlik Sense.
Режим Direct Discovery Режим Direct Query включен на уровне документа. Не поддерживается в Qlik Sense.
Оповещения Определения оповещений существуют. Оповещения не поддерживаются в Qlik Sense.
Действия OnOpen документа Определены действия триггера OnOpen на уровне документа. Требуется пересоздать вручную.
Действия документа OnPostReload Определены действия триггера OnPostReload на уровне документа. Требуется пересоздать вручную.
Расширения документа Расширения документов установлены. Расширения, кроме QVAccessibility, не поддерживаются.

Свойства поля

QV2QS обнаруживает поля с включенным свойством Всегда одно выбранное. Это свойство является настройкой уровня движка, которую нельзя применить через выходные данные сборки JSON. Свойство необходимо применить вручную в редакторе приложения Qlik Sense после развертывания.

Макросы VBA

QV2QS считывает Module.txt из папки PRJ и выполняет синтаксический анализ всех определений Sub и Function VBA. Для каждого макроса в отчете об анализе указываются имя, тип (Sub или Function) и количество строк.

QV2QS также создает перекрестные ссылки на вызовы макросов, сканируя каждый XML-файл объекта и DocProperties.xml на наличие триггеров действий, вызывающих макросы. Перекрестная ссылка определяет, какие объекты вызывают какие макросы, а также листы, на которых расположены эти объекты. Макросы, которые определены, но ни разу не вызываются, помечаются как неиспользуемые.

Кавычки в выражениях при анализе множеств

QV2QS сканирует все выражения объектов (измерения, меры, условия отображения, выражения цвета, текстовые выражения) и определения переменных на наличие шаблонов расстановки кавычек в Set Analysis, которые ведут себя иначе в Qlik Sense. QlikView (до ноября 2017 года) обрабатывал значения в одинарных кавычках в модификаторах множеств как поиск без учета регистра, аналогично значениям в двойных кавычках. Qlik Sense обрабатывает значения в одинарных кавычках как литералы, чувствительные к регистру.

Обнаружены следующие шаблоны:

Образец Правило Вероятность Описание Устранение
Знак подстановки в одинарных кавычках ('*US*', 'A?', '^abc') Символ подстановки в одинарных кавычках Высокий Символы подстановки *, ? и привязка к границе слова ^ в Qlik Sense интерпретируются как буквальный текст, а не как шаблоны поиска. Замените одинарные кавычки двойными, чтобы восстановить поведение поиска.
Сравнение в одинарных кавычках ('>=5', '<2020') Сравнение в одинарных кавычках Высокий Операторы сравнения >, >=, <, <= интерпретируются в Qlik Sense как буквальный текст, а не как числовой поиск. Замените одинарные кавычки двойными, чтобы восстановить числовое сравнение.
Нечеткий поиск в одинарных кавычках ('~company') Нечеткий поиск в одинарных кавычках Высокий Префикс ~ активирует нечеткое сопоставление в двойных кавычках. В одинарных кавычках Qlik Sense рассматривает это как строковый литерал. Замените одинарные кавычки на двойные, чтобы восстановить нечеткий поиск.
Поиск выражений в одинарных кавычках ('=Sum(Sales)>100') Поиск выражения в одинарных кавычках Высокий = Префикс запускает поиск выражений в двойных кавычках. В одинарных кавычках Qlik Sense рассматривает это как строковый литерал. Замените одинарные кавычки на двойные кавычки, чтобы восстановить поиск выражений.
Модификатор поиска в одинарных кавычках ('+abc', '-solution') Модификатор поиска в одинарных кавычках Высокий Модификаторы + (должен содержать) и - (не должен содержать) работают в двойных кавычках. В одинарных кавычках, Qlik Sense рассматривает их как литеральные строки. Замените одинарные кавычки на двойные, чтобы восстановить поведение модификатора.
Поиск составных выражений в одинарных кавычках ('(1|2|3)', '(*ABC*&?*Inc*)') Составной поиск в одинарных кавычках Высокий Составной поиск с логическими операторами | (ИЛИ), & (И), ^ (ИСКЛЮЧАЮЩЕЕ ИЛИ) работает в двойных кавычках. В одинарных кавычках Qlik Sense рассматривает это как строковый литерал. Замените одинарные кавычки на двойные кавычки, чтобы восстановить составной поиск.
Значение в одинарных кавычках в числовом поле ('2020' в поле даты или числа) Одинарные кавычки в числовом поле Высокий Значения в одинарных кавычках соответствуют текстовому представлению в Qlik Sense. В числовых или двойных полях текстовое представление может не совпадать с сохраненным значением, что приводит к несоответствию типов. Используйте числовое значение без кавычек или двойные кавычки вместо этого.
Строка без кавычек ({USA,France}) Неэкранированное голое значение Низкий Qlik Sense принимает значения без кавычек, но поведение нестабильно при наличии пробелов, операторов или специальных символов. Заключите значение в одинарные кавычки для точного совпадения.
Прямая ссылка на поле (<Field1=Field2>) Прямая ссылка на поле Высокий QlikView позволяет <Field1=Field2> передавать выделения между полями. Qlik Sense не поддерживает прямые ссылки между полями в модификаторах набора. Замените на <Field1=P(Field2)> чтобы использовать функцию элемента P().
Простое значение без скобок (<Country=USA>) Голое значение без скобок Высокий Непосредственное значение без фигурных скобок в правой части присваивания модификатора набора. QlikView может интерпретировать значение как литерал или ссылку на поле в зависимости от контекста. Qlik Sense требует, чтобы значения находились внутри фигурных скобок. Заключите в фигурные скобки: <Country={USA}> или <Country={'USA'}>.

Значения обычного текста в одинарных кавычках в текстовых полях (например, 'USA') не помечаются. Эти значения корректно работают как литералы с учетом регистра в Qlik Sense.

QV2QS поддерживает заключенные в квадратные скобки ([Invoice Number]), заключенные в двойные кавычки ("Invoice Number"), и заключенные в обратные кавычки (`Invoice Number`) имена полей в левой части присваиваний модификаторов набора. Все три стиля цитирования распознаются при сканировании и исправлении.

По умолчанию, QV2QS автоматически исправляет значения поиска в одинарных кавычках во время преобразования в выражениях объектов и определениях переменных. Значения в одинарных кавычках, содержащие синтаксис поиска (подстановочные знаки, сравнения, нечеткий поиск, поиск по выражениям, модификаторы поиска или составные операторы поиска), преобразуются в двойные кавычки. Значения в одинарных кавычках в числовых полях, которые не содержат синтаксиса поиска, помечаются для ручной проверки, но не исправляются автоматически. Экспериментальное исправление для неэкранированных строковых значений также доступно, но по умолчанию отключено — передайте --fixUnquotedSetValues чтобы включить его. Исправления применяются с использованием позиционной замены только в списках значений модификаторов набора — имена полей, имена функций и другой текст выражений никогда не изменяются. Каждое исправление имеет независимый переключатель (--noFixSingleQuotedSearch, --fixUnquotedSetValues). Для получения дополнительной информации см. Справочник аргументов.

Результаты отображаются в Результаты котирования выражений разделе сводки консоли, на подвкладке Выражение панели мониторинга сводки для руководителей, и на листе Expression_Findings отчета Excel. Каждое обнаружение включает Статус индикатор: Автоматически исправлено (исправлено во время преобразования), Требует проверки (требует ручного внимания) или Исправление недоступно (неподдерживаемая функция). Сводная панель мониторинга предоставляет переключатель фильтра, чтобы скрыть автоматически исправленные строки и сосредоточиться на элементах, которые все еще требуют внимания. Дополнительные сведения о различиях в синтаксисе анализа наборов см. в разделе Анализ наборов в справке Qlik Cloud.

Неподдерживаемые функции диаграммы

QV2QS сканирует все выражения объектов (измерения, меры, условия отображения, выражения цвета, текстовые выражения) и определения переменных на предмет функций диаграмм QlikView, которые не поддерживаются в Qlik Sense. Сканер сопоставляет вызовы функций с необязательными пробелами или символами новой строки между именем функции и открывающей скобкой. Имена функций внутри строковых литералов исключены.

Обнаружены следующие функции:

Функция Описание
GetCurrentField Возвращает имя активного поля в текущем объекте. Не поддерживается в Qlik Sense. См. Функции полей в Qlik Cloud для поддерживаемых альтернатив.
GetExtendedProperty Получает метаданные связанного объекта. Не поддерживается в Qlik Sense. См. Функции полей в Qlik Cloud для поддерживаемых альтернатив.
Входные данные Получает введенные пользователем значения полей ввода. Не поддерживается в Qlik Sense.
InputAvg Вычисляет среднее значение значений входных полей. Не поддерживается в Qlik Sense.
InputSum Вычисляет сумму значений полей ввода. Не поддерживается в Qlik Sense.
MsgBox Отображает диалоговое окно. Не поддерживается в Qlik Sense.
NoOfReports Возвращает количество объектов отчета. Не поддерживается в Qlik Sense.
ReportComment Возвращает комментарий отчета. Не поддерживается в Qlik Sense.
ReportId Возвращает идентификатор отчета. Не поддерживается в Qlik Sense.
ReportName Возвращает имя отчета. Не поддерживается в Qlik Sense.
ReportNumber Возвращает номер отчета. Не поддерживается в Qlik Sense.

Результаты обнаружения неподдерживаемых функций появляются наряду с результатами обнаружения кавычек в анализе множеств в Expression_Findings рабочем листе и в Potential expression issues разделе сводки консоли.

Закладки разработчика

QV2QS читает DocInternals.xml и перечисляет все закладки, созданные разработчиками. Для каждой закладки анализ сообщает о выбранных полях, области действия (глобальной или для конкретного листа) и о том, сохранено ли состояние макета. Закладки должны быть вручную воссозданы в Qlik Sense.

Примечание к информации

Закладки на уровне сервера (общие и личные) не обнаруживаются из папки PRJ.

Расчет размера SaaS

QV2QS считывает двоичный файл QVW для оценки базового объема занимаемой ОЗУ приложения. Оценка основана на ByteSize метаданных, встроенных в описания таблиц и полей.

Примечание к информации

Метаданные ByteSize доступны только в файлах QVW, сохраненных с помощью QlikView 12.30 или более поздней версии (ноябрь 2018 г.). Если метаданные отсутствуют, уровень размера сообщается как Неизвестный.

QV2QS классифицирует приложение в один из следующих уровней на основе базового потребления ОЗУ.

Уровень Порог Действие
Стандартный До 5 ГБ Специальное действие не требуется.
Крупные Приложения До 50 ГБ Разверните в пространство с включенной поддержкой больших приложений.
Требуется оптимизация Свыше 50 ГБ Проконсультируйтесь с администратором Qlik или партнером Qlik перед миграцией.

Таблица сведений о размере на листе «Анализ» также сообщает количество таблиц и полей (исключая системные таблицы и поля). Подробные сведения о кратности полей, количестве строк в таблицах и размере объектов в байтах см. на листах Data_Model_Fields и Data_Model_Tables в отчете Excel.

Уровни достоверности

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

  • Высокий — Шаблон специфичен. Находка, скорее всего, является реальной проблемой совместимости.
  • Средний — Шаблон может соответствовать нерелевантному коду. Проверить вручную.
  • Низкий — Шаблон широкий. Просмотрите отмеченную строку, чтобы подтвердить актуальность.

Результаты анализа свойств документа и результаты анализа макросов не имеют уровней достоверности, поскольку эти результаты основаны на явных флагах XML, а не на сопоставлении с образцом.

Ограничения анализа

Анализ сканирует только папку PRJ и бинарный файл QVW. Сканер Скрипта загрузки обнаруживает неподдерживаемые операторы и функции в LoadScript.txt. Сканер Скрипта загрузки не проверяет выражения диаграмм.

Сканер выражений проверяет выражения диаграммы (измерения, меры, условия отображения, выражения цвета, текстовые выражения и определения переменных) на наличие шаблонов кавычек анализа множеств и неподдерживаемых вызовов функций. Сканер выражений не обнаруживает других категорий несовместимости в выражениях диаграммы.

Элементы, которые существуют на уровне QlikView Server, не обнаруживаются. Необнаруженные элементы включают серверные закладки, серверные объекты, настройки кластера, условия оповещений, определения отчетов и данные об использовании сеансов.

Узнать больше

Visit the discussion forum at community.qlik.com

Помогла ли вам эта страница?

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