Spreadsheets

ОбзорДокументацияДемоВидеоИстория версий

Документация Spreadsheets

Table of contents

Spreadsheets Extension для Qlik

Скачивание и установка

Qlik Sense Desktop

Чтобы установить Spreadsheets Extension в Qlik Sense Desktop, выполните следующие действия: 

  1. Скачайте Spreadsheets Extension для Qlik Sense. 
  2. Распакуйте архив. 
  3. Откройте окно проводника Windows и перейдите в каталог расширений Qlik Sense: 
    ..\Users\<UserName>\Documents\Qlik\Sense\Extensions. 
  4. Скопируйте папку anychart-4x-spreadsheets в каталог Extensions. 
  5. Перезапустите Qlik Sense Desktop. 

Qlik Sense Server

Чтобы установить Spreadsheets Extension на сервер Qlik Sense, 

  1. Скачайте Spreadsheets Extension для Qlik Sense. 
  2. Откройте Qlik Management Console (QMC): https://<QPS server name>/qmc 
  3. Выберите Extensions на начальной странице QMC или в выпадающем меню Start. 
  4. Нажмите Import на панели действий. 
  5. В диалоговом окне выберите скачанный архив. Оставьте поле пароля пустым. 
  6. Нажмите Open в окне проводника файлов. 
  7. Нажмите Import. 

Qlik Sense Cloud

Чтобы установить Spreadsheets Tree Extension в Qlik Sense Cloud, выполните следующие действия: 

  1. Скачайте Spreadsheets Extension для Qlik Sense Cloud. 
  2. Распакуйте архив. 
  3. Войдите в Management Console: 
    1. добавьте /console к адресу вашего тенанта: https://<your tenant address>/console 
    2. или используйте навигационную ссылку Administration под профилем пользователя в хабе 
  4. Перейдите на страницу Extensions и нажмите Add. 
  5. В диалоговом окне выберите архив с расширением в бандле – например, anychart-4x-spreadsheets.zip. 
  6. Нажмите Add. 
  7. Повторите вышеуказанные шаги, чтобы добавить другие расширения. 
  8. В Management Console перейдите в раздел Content Security Policy и нажмите Add. 
  9. В диалоговом окне дайте Content Security Policy имя – например, AnyChart. 
  10. Введите адрес исходного сервера: qlik.anychart.com 
  11. Выберите следующие директивы: 
    1. connect-src 
    2. font-src 
    3. img-src 
    4. script-src 
    5. style-src 
  12. Нажмите Add. 

Обзор

AnyChart Spreadsheets предоставляет мощные возможности редактирования таблиц в стиле Excel непосредственно в Qlik Sense. Благодаря поддержке нативных формул Excel, расширенному форматированию, многолистовым структурам и интерактивному исследованию данных, этот Extension позволяет пользователям манипулировать и анализировать данные с гибкостью полнофункциональной электронной таблицы.

Изучите раздел Быстрый старт, чтобы получить практический опыт работы с Spreadsheets Extension.

 

Быстрый старт

Создание базовой таблицы

Это руководство проведет вас через процесс создания базовой визуализации Spreadsheets с нуля.

Видеообзор

Шаг 1: Добавьте пустую визуализацию

  1. В вашем приложении Qlik Sense перейдите в Assets Panel
  2. Перейдите в Custom objects > AnyChart 4
  3. Перетащите визуализацию Spreadsheets на ваш лист. 

Шаг 2: Включите автосохранение

  • Выберите визуализацию и откройте Properties Panel.
  • Перейдите в раздел Settings -> Autosave
  • Выберите вариант хранения Browser IndexedDB
     

Шаг 3: Добавьте секцию данных

  1. Перейдите в раздел Data. 
  2. Нажмите кнопку Add, чтобы создать новую Data Section. 
  3. Выберите только что созданную Data Section. 
  4. Убедитесь, что переключатель Create synced sheet включен. 
  5. Нажмите Edit data и выберите Data . 
  6. Добавьте нужные Columns. 

 

После выполнения этих шагов ваша визуализация будет содержать: 

  • Один пустой лист: Sheet1 
  • Один лист, заполненный данными из Data Section: DataSheet1 

 

image1.png

Шаг 4: Отформатируйте таблицу

  1. Удалите пустой лист:
    1. Щелкните правой кнопкой мыши на Sheet1 и выберите Delete.
  2. Создайте таблицу на оставшемся листе данных:
    1. Выделите все ячейки, содержащие данные.
    2. Перейдите в раздел INSERT в Ribbon Menu.
    3. Нажмите Table, затем подтвердите во всплывающем окне.
  3. Настройте форматирование:
    1. Измените размер столбцов и строк по мере необходимости.
    2. Настройте стили шрифтов на вкладке HOME.
    3. Выберите ячейки заголовков и используйте инструменты выравнивания в разделе Font Alignment.


3.png

 

 


 

Шаг 5: Добавьте диаграмму

  1. Выделите все ячейки, содержащие данные. 
  2. Перейдите на вкладку INSERT в Ribbon Menu. 
  3. Нажмите Insert Chart и выберите тип диаграммы, подходящий для ваших данных. 
  4. Нажмите OK. 

Разместите диаграмму в любом месте листа.

Необязательно: Экспортируйте вашу таблицу в Excel

Если вы хотите продолжить работу в другом инструменте, например в Excel: 

  1. Перейдите на вкладку FILE в Ribbon Menu. 
  2. Нажмите Export
  3. Выберите вариант Excel file
  4. Настройте параметры экспорта с помощью Save Flags
  5. Нажмите кнопку Export Excel File
  6. Укажите имя файла во всплывающем окне и нажмите OK. 

После этого скачивание начнется автоматически, и ваш файл .xlsx будет готов к открытию в Excel или любом совместимом программном обеспечении. 

Использование существующего шаблона Excel

 

Это руководство описывает, как использовать AnyChart Spreadsheets extension в Qlik Sense, чтобы превратить шаблон Excel в полностью интерактивную таблицу, управляемую данными. 

Видеообзор

Предварительные требования

  • Приложение Qlik Sense с установленным AnyChart Spreadsheets extension 
  • Файл шаблона: personal-bundet.xlsx 

Шаг 1: Загрузите данные в Qlik

  1. Загрузите файл personal-budget.xlsx в Attached Files вашего приложения Qlik. 
  2. Откройте Data Load Editor и используйте следующий скрипт для загрузки таблиц Budget и Transactions: 
LOAD 
Category, 
Budget 
FROM [lib://AttachedFiles/personal-budget.xlsx] 
(ooxml, embedded labels, header is 3 lines, table is Budget) 
Where Upper(Trim(Category)) <> 'TOTAL'; 
LOAD 
"Date", 
Description, 
Category, 
Amount 
FROM [lib://AttachedFiles/personal-budget.xlsx] 
(ooxml, embedded labels, header is 1 lines, table is Transactions); 
  1. Нажмите Load Data. 

Шаг 2: Добавьте Spreadsheets Extension

  1. Создайте новый лист в приложении Qlik и откройте его. 
    Войдите в Edit Mode
  2. Из раздела Custom Objects > AnyChart перетащите визуализацию Spreadsheets Table на холст. 

Шаг 3: Включите автосохранение

  1. Выберите визуализацию и откройте Properties Panel.
  2. Перейдите в раздел Settings -> Autosave
     

Шаг 4: Импортируйте шаблон Excel

  1. Выбрав визуализацию, перейдите на вкладку FILE в ленточном меню. 
  2. Нажмите Import Excel File
  3. Выберите файл personal-budget.xlsx

Шаблон содержит два листа: 

  • Лист Budget 
  • Лист Transactions 

Шаг 5: Создайте секции данных

  • Откройте Properties Panel и перейдите на вкладку Data. 
  • Нажмите Add, чтобы создать первую Data Section: 
    • Добавьте измерение: 
      • Category 
    • Добавьте меры: 
      • Sum(Budget) 
      • Sum(Amount) 
      • Sum(Budget) - Sum(Amount) 
  • Снова нажмите Add, чтобы создать вторую Data Section: 
    • Добавьте измерения: 
      • Date 
      • Description 
      • Category 
    • Добавьте меру: 
      • Sum(Amount) 
  • Настройте метки мер (например, переименуйте Sum(Amount) в Amount ). 

Шаг 6: Подготовьте шаблон для данных Qlik

  1. Переключитесь на каждый лист в представлении таблицы. 
  2. Очистите статические значения ячеек там, где будут вставлены данные Qlik. 
  3. Установите формат этих ячеек на General с помощью ленты (это важно для правильной работы формул). 

Шаг 7: Вставьте формулы QLIK.DATA

Лист Budget
  1. В начальную ячейку таблицы бюджета (например, A4) введите: 

=QLIK.DATA(0,,,TRUE,”TOP”) 

Это извлечет данные из первой Data Section и включит как метки, так и итоги. 

  1. Отформатируйте ячейки данных (например, столбцы Budget, Amount и Difference) как Currency
Лист Transactions
  1. В начальную ячейку таблицы транзакций (например, A2) введите: 

=QLIK.DATA(1,,,TRUE) 

Это будет использовать вторую Data Section и отображать метки. 

  1. Отформатируйте столбец Date как Short Date , а столбец Amount как Currency

Шаг 8: Окончательное форматирование и сохранение

  1. Внесите любые окончательные корректировки форматирования. 
  2. Перейдите на вкладку USER в ленте и выберите Save to app, чтобы сохранить изменения. 

Результат

Теперь у вас есть полностью интерактивная таблица, которая сочетает в себе: 

  • Знакомый макет Excel 
  • Живые данные Qlik 
  • Динамические вычисления с использованием QLIK.DATA 

Демо

Скоро появится. 

Листы

Spreadsheets extension поддерживает работу с несколькими листами — как в Excel — позволяя вам организовывать данные, вычисления и макеты по логическим слоям книги. 

Каждый лист может содержать смесь из: 

  • Статических значений — введенного вручную текста или чисел. 
  • Функций — включая ссылки на другие ячейки, диапазоны или вычисления. 
  • Ячеек, связанных с данными — динамически заполняемых из данных Qlik или формул QLIK. 

Листы полностью независимы: 

  • Вы можете использовать разные макеты и дизайны для каждого листа. 
  • Каждый лист может отображать разные данные гиперкуба или не отображать их вовсе. 
  • Структура и форматирование на одном листе не будут мешать другому. 

Ссылки между листами

Как и в Excel, вы можете ссылаться на ячейки с других листов, используя формат SheetName!CellReference

Например: =Sheet2!A1 

Эта формула извлекает значение из ячейки A1 на листе с именем Sheet2

Это позволяет легко создавать сводные листы, агрегировать значения или создавать дашборды, объединяющие результаты с нескольких листов. 

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

Данные

Spreadsheets extension представляет модель данных, которая интегрирует ассоциативный движок Qlik с гибкой средой редактирования в стиле Excel. В этом разделе описывается, как структурированы данные Qlik внутри расширения и как их можно связать с содержимым таблицы. 

Секции данных (Data Sections)

Data Sections определяют наборы данных многократного использования, построенные на основе измерений и мер Qlik. Они выступают мостом между Qlik и холстом Spreadsheets. 

Обзор Data Sections

  • Data Section состоит из Columns, где каждый столбец — это Dimension или Measure из Qlik. 
  • Порядок Columns настраивается. 
  • Data Sections управляются в Properties Panel расширения Spreadsheets. 
  • Каждая Data Section может быть повторно использована на разных листах или в таблицах и поддерживает несколько режимов подключения (см. Подключение Data Sections ). 

Итоги

Каждая Data Section поддерживает автоматические итоги для столбцов Measure: 

  • Включите итоги на вкладке Presentation конфигурации Data Section. 
  • Настройте: 
    • Position: Top / Bottom / None 
    • Label: настройте текст (например, "Total", "Summary") 

Итоги рассчитываются Qlik и динамически обновляются на основе выборок. 

Столбцы

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

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

Диапазон (Range)

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

  • Пример (вертикальный): C1:C5 поместит значения столбца в ячейки от C1 до C5. 
  • Пример (горизонтальный): C3:H3 заполнит ячейки по горизонтали в строке 3. 

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

Обеспечение соответствия диапазонов данных листу 

При использовании пользовательских диапазонов для столбцов — будь то вертикальные (например, C1:C10) или горизонтальные (например, C3:H3) — важно убедиться, что в таблице достаточно места для отображения данных. 

Отрисованные данные должны умещаться в текущем диапазоне листа, который определяется количеством видимых строк и столбцов. Если указанный диапазон столбцов превышает эти пределы, часть данных может быть обрезана, отрисована неправильно или вызвать непредвиденное поведение. 

Настройка размеров листа 

Чтобы избежать таких проблем: 

  1. Перейдите на вкладку Settings в Ribbon Menu. 
  2. Выберите General в разделе Sheet Settings. 
  3. Увеличивайте Row Count и/или Column Count по мере необходимости. 

6.png

Известные особенности и ограничения: 

  • Прокрутка: Настройки диапазона могут влиять на поведение прокрутки (см. раздел Прокрутка ). 
  • Смещения: Если разные столбцы имеют разные начальные позиции (например, A1, B5, C10), загрузка данных и прокрутка будут выравниваться на основе смещения первого столбца
  • Смешанные смещения: Использование неоднородных начальных точек (например, A3, C5, E7) может привести к пропускам или неожиданному отображению во время загрузки данных. 
  • Загрузка данных: Первая загрузка и загрузка, инициируемая прокруткой, всегда учитывают смещение первого столбца при расчете количества строк для получения 

Подключение Data Sections

После определения Data Section вы можете подключить ее к своей таблице тремя основными способами: 

Обзор Data Sections

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

Метод Сценарий использования Управление Лучше всего для 
Synced Sheet (по умолчанию) Автоматическое заполнение нового листа данными Низкое Быстрый просмотр, одна секция на лист 
Table Binding Привязка Data Section к таблице в Spreadsheets Среднее Табличные представления данных, фиксированные макеты 
QLIK Formulas Вставка данных вручную с помощью формул Высокое Пользовательские шаблоны, сложные макеты 

Создание синхронизированного листа (Synced Sheet)

  • Включается с помощью переключателя "Create Synced Sheet" при добавлении Data Section. 
  • Автоматически создает лист, названный в честь метки секции, и вставляет данные. 
  • Подходит для быстрой итерации и тестирования новых конфигураций данных. 

🛈 Лист автоматически обновляется при изменении Data Section. 

Привязка таблицы (Table Binding)

Привяжите Data Section напрямую к существующей таблице внутри Spreadsheets. 

Шаги: 

  1. Выберите таблицу в режиме просмотра Spreadsheets. 
  2. Перейдите на вкладку Table Design в Ribbon Menu. 
  3. Откройте выпадающий список Select Source
  4. Выберите Data Section. 

Таблица автоматически заполнится данными из выбранной секции, а столбцы будут сопоставлены по порядку. 

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

Формулы QLIK

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

В дополнение к функциям привязки данных, указанным выше, формула QLIK.EXPRESSION() позволяет вычислять произвольные выражения Qlik непосредственно внутри таблицы, динамически отражая изменения в выборках Qlik. 

🛈 Примечание: Поскольку эти формулы работают на живых данных Qlik, обновления в приложении Qlik (например, фильтры, выборки или изменения в базовых данных) немедленно повлияют на таблицу. Это может привести к увеличению или уменьшению количества заполненных ячеек, поэтому планируйте свой макет соответственно. 

Подробный синтаксис и примеры см. в разделе Функции, связанные с Qlik  

Выборки Qlik

Если ваш Spreadsheet построен на Data Sections, он будет динамически реагировать на выборки Qlik. 

Вы также можете выполнять выборки Qlik непосредственно из Spreadsheets extension. 

Как применить выборку из Spreadsheets

  1. Выберите ячейки, которые вы хотите отфильтровать. 
  2. Щелкните правой кнопкой мыши по выделенному фрагменту. 
  3. Выберите Qlik Select в контекстном меню. 

5.png

Spreadsheets extension автоматически обнаружит допустимые выборки и применит их к приложению Qlik. 

Функции Excel

Extension поддерживает большинство нативных функций Excel, включая: 

  • Математические и тригонометрические: SUM, AVERAGE, ROUND, INT 
  • Логические: IF, AND, OR, NOT 
  • Текстовые: CONCATENATE, LEFT, RIGHT, TEXTJOIN 
  • Поиск и ссылки: VLOOKUP, INDEX, MATCH 
  • Дата и время: TODAY, NOW, DATEDIF, EOMONTH 
  • Массивы: UNIQUE, SORT, FILTER 

И многие другие. 

Вы можете ознакомиться с полным списком доступных функций Excel в разделе Formulas в Ribbon Menu 

6.png

Функции, связанные с Qlik

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

Каждая функция выполняется асинхронно и возвращает динамические значения, основанные на ассоциативной модели Qlik. 

QLIK.DATA

Извлекает и вставляет значения данных из предварительно настроенной Data Section. 

= QLIK.DATA(data_section_label_or_index, [column_label_or_index], [is_horizontal], [show_label], [show_total], [limit]) 

Аргументы:

  • data_section_label_or_index – Метка или индекс Data Section. 
  • column_label_or_index – (Необязательно) Метка или индекс столбца (измерение или мера). 
  • is_horizontal – (Необязательно) Если true, данные заполняются горизонтально, а не вертикально. 
  • show_label – (Необязательно) Если true, включает метки столбцов. 
  • totals_position – (Необязательно, Enum) Определяет, вставляются ли и куда вставляются итоговые значения. 
    • "INHERIT" – Использовать настройки итогов, определенные в панели Qlik (раздел определений). 
    • "TOP" – Вставить итоговые значения над диапазоном данных. 
    • "BOTTOM" – Вставить итоговые значения под диапазоном данных. 
    • "NONE" (по умолчанию) – Итоги не вставляются. 
    • 🛈 Недопустимые значения будут рассматриваться как "NONE". 
  • limit – (Необязательно) Устанавливает максимальное количество строк (или столбцов, если горизонтально), возвращаемых из Data Section. Это не то же самое, что настройки ограничений в Data Section, это жесткое ограничение количества строк. Пожалуйста, используйте ограничения Data Section, если вам нужно правильное ограничение меры. 

Сценарии использования:

  • Встраивание данных Qlik в определенные области таблицы. 
  • Заполнение листов несколькими наборами данных независимо друг от друга. 
  • Отображение данных, когда автоматическая привязка листа к секции нежелательна. 

QLIK.DATA.LABEL

Возвращает метку конкретного измерения или меры из Data Section. 

=QLIK.DATA.LABEL(data_section_label_or_index, column_label_or_index) 

Аргументы:

  • data_section_label_or_index – Метка или индекс Data Section. 
  • column_label_or_index – Метка или индекс измерения или меры. 

Сценарии использования:

  • Динамическое отображение заголовков столбцов. 
  • Создание общих или многократно используемых шаблонов с гибкими входными данными. 

QLIK.DATA.TOTAL

Возвращает значение итоговой агрегации для конкретной меры в Data Section. 

=QLIK.DATA.TOTAL(data_section_label_or_index, column_label_or_index) 

Аргументы:

  • data_section_label_or_index – Метка или индекс Data Section. 
  • column_label_or_index – Метка или индекс столбца. 

Сценарии использования:

  • Отображение строк итогов или сводных KPI за пределами основного блока данных. 
  • Ссылка на итоги, рассчитанные Qlik, без ручного суммирования. 

QLIK.EXPRESSION

Вычисляет выражение Qlik и возвращает результат. 

=QLIK.EXPRESSION("=Today()") 

Аргументы:

  • query_string – Выражение Qlik, заключенное в кавычки (должно начинаться с =). 

Сценарии использования:

 

Вычисление выражений в реальном времени

Все значения, возвращаемые QLIK.EXPRESSION(), являются динамическими и обновляются в режиме реального времени на основе: 

  • Выборок, сделанных в приложении Qlik 
  • Изменений базовых данных 
  • Системного контекста или контекста сессии 

Эти значения могут меняться между сессиями или пользователями — идеальный вариант для живых дашбордов или персональных представлений. 

Совет: Используйте эту функцию вместе с нативной логикой Excel (IF, TEXT, ROUND и т. д.) для создания умных дашбордов непосредственно внутри таблицы. 

Практические примеры

KPI

Можно создавать KPI на основе формул Qlik, а затем применять правила условного форматирования для визуального выделения результатов. 

1. Вставьте формулу KPI 

Введите выражение Qlik в ячейку. Например, для расчета общей прибыли: 

=QLIK.EXPRESSION("=GetFieldSelections(Region. '|')") 

7.png

2. Примените условное форматирование 

Используйте функцию Conditional Formatting в Spreadsheets, чтобы динамически стилизовать ячейку на основе результата KPI. 

Примеры правил: 

  • Зеленый, если Total Profit больше 2,400,000,000 
  • Красный, если Total Profit меньше 2,400,000,000 

8.png

3. Обновления в реальном времени 

При применении выборок в Qlik значение KPI будет автоматически обновляться, а форматирование будет пересчитываться в режиме реального времени. 

Это упрощает создание живых KPI-дашбордов, где визуальные индикаторы мгновенно реагируют на фильтры и выборки Qlik. 

Баннер статуса выборки

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

В отличие от простых KPI, здесь мы используем более сложные формулы Qlik, которые сочетают несколько функций ( IF, GetSelectedCount(), GetFieldSelections() ). Это доказывает, что вы не ограничены базовыми выражениями — можно создавать гибкие формулы в точном соответствии с вашими потребностями в отчетности. 

1. Вставьте формулы выбора 

Чтобы показать выбранный Region: 
=QLIK.EXPRESSION("=IF(GetSelectedCount(Region) = 0, 'No selection (All Regions)', GetFieldSelections(Region, ' | '))") 

Чтобы показать выбранную Country: 
=QLIK.EXPRESSION("=IF(GetSelectedCount(Country) = 0, 'No selection (All Countries)', GetFieldSelections(Country, ' | '))") 

2. Результат с активными выборками 

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

Если в Region выбрана Europe → в ячейке отображается Europe

Если в Country выбраны Germany, Latvia, Lithuania → в ячейке отображается Germany | Latvia | Lithuania.

В этом примере используется обертка IF для обработки случая «Нет выборки», но вы можете адаптировать логику: 

  • Замените текстовые строки своими формулировками ("All Regions" → "Все значения"). 
  • Объедините несколько полей в одну строку (например, Region + Year). 
  • Примените условное форматирование, чтобы выделить слишком узкие или слишком широкие фильтры. 

Метаданные приложения и системы (Live)

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

1. Вставьте формулы метаданных 

Имя документа: 

=QLIK.EXPRESSION("=DocumentName()") 

Временная метка перезагрузки: 

=QLIK.EXPRESSION("=ReloadTime()") 

11.png

Форматирование

Spreadsheets extension предлагает полный набор инструментов форматирования, доступных в Ribbon Panel и организованных по разделам. Ниже приведены наиболее часто используемые инструменты на вкладке Home, помогающие быстро стилизовать и структурировать содержимое таблицы. 

Home

  • Fonts : размер шрифта, цвет, полужирный, курсив, подчеркивание, заливка фона, границы 
    12.png
  • Text Aligning : вертикальное и горизонтальное выравнивание, ориентация, отступ, перенос, объединение и центрирование 
    12.png
  • Number formats : валюта, проценты, пользовательские форматы 
    13.png
  • Cell Styling : условное форматирование, формат таблицы, стили ячеек, редакторы ячеек 
    14.png
  • Cells : вставка, удаление, форматирование 
    15.png
  • Editing : вставка функции, заполнение, очистка, сортировка и фильтрация, поиск 
    16.png

 

 

Прокрутка

Spreadsheets extension реализует вертикальную прокрутку для поддержки плавного взаимодействия с большими наборами данных, особенно при использовании Data Sections, подключенных к Qlik. Это поведение является автоматическим и зависит от типа листа и способа подключения данных. 

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

Общие сведения о прокрутке

  • Когда пользователь прокручивает страницу по вертикали и приближается к нижней части видимой области, система проверяет, следует ли добавить больше строк или загрузить данные. 
  • Горизонтальная прокрутка поддерживается только для навигации и не инициирует загрузку данных или расширение диапазона. 

Синхронизированные листы данных (Synced Data Sheets)

При использовании Create Synced Sheet для Data Section таблица будет автоматически обрабатывать большие наборы данных, загружая новые строки по мере прокрутки. 

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

Если больше нет данных для загрузки, лист все равно позволит вам прокручивать дальше, но новые строки будут казаться пустыми. 

Такое поведение обеспечивает: 

  • Вы никогда не столкнетесь с жесткой остановкой при прокрутке. 
  • Новые данные появляются только тогда, когда это необходимо. 
  • Макет остается последовательным даже при достижении конца данных. 

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

На других листах

Листы, которые не связаны с Data Sections через Create Synced Sheet , не инициируют автоматическое добавление строк или загрузку данных во время прокрутки. 

Смещение диапазона и загрузка данных

Система учитывает смещение диапазона первого столбца в Data Section при расчете поведения загрузки данных. 

  • Если диапазон первого столбца начинается с более низкой строки (например, A100), лист начинает отрисовку с этой позиции. 
  • Вся логика прокрутки и извлечения данных основана на этом смещении первого столбца. 

Ограничения и частные случаи

  • Горизонтальные диапазоны (например, A1:Z1) будут корректно отрисовывать данные для первого набора значений, но не будут поддерживать дополнительную загрузку данных во время вертикальной прокрутки. В таких случаях пользователь должен управлять макетом и видимостью вручную. 
  • Смешанные смещения столбцов (например, A1, B5, C10) могут привести к: 
    • Непоследовательному выравниванию 
    • Пропускам в отображаемых данных 
    • Данным, которые кажутся загруженными лишь частично 

Извлечение данных всегда выравнивается по смещению первого столбца, независимо от того, как настроены другие столбцы. 

Рекомендации по производительности

Пользовательские диапазоны с большими смещениями или очень большим количеством строк могут значительно увеличить объем данных во время загрузки. 

Например: 

  • Data Section с 5 столбцами и заданным пользователем лимитом в 10 000 строк попытается загрузить и отрисовать 50 000 ячеек. 
  • Это может повлиять на производительность, особенно в старых браузерах или на менее мощных компьютерах. 

Для сохранения отзывчивости рассмотрите возможность: 

  • Ограничения количества строк, где это возможно. 
  • Избегания неоправданно больших начальных смещений. 

Открыть / Сохранить

Функциональность Открыть / Сохранить в меню File позволяет сохранять, повторно использовать и делиться содержимым вашей таблицы. 

Вы можете выбрать одно из 2 мест хранения для сохранения и загрузки конфигураций вашей таблицы. Каждую опцию можно включить или выключить в Properties Panel. После включения соответствующий раздел появится в меню File.

Вариант 1: Desktop (Рабочий стол)

  • Сохраняет конфигурацию таблицы в виде файла JSON на вашем компьютере. 
  • Лучше всего подходит для прямой передачи отдельным пользователям или хранения частных копий. 

Чтобы открыть сохраненный файл: 

  1. Перейдите в меню File → Open → Desktop. 
  2. Нажмите Select File. 
  3. Выберите ранее сохраненный файл конфигурации JSON. 

Вариант 2: Content Library (Библиотека контента)

  • Сохраняет вашу конфигурацию в виде JSON-файла внутри выбранной библиотеки контента Qlik. 
  • Аналогично варианту Desktop, но файл хранится в Qlik, а не локально. 
  • Лучше всего подходит для ведения нескольких версий настроек таблиц, доступных всем пользователям с доступом к Content Library. 

Совет: Для временных изменений, не требующих сохранения, используйте функциональность Autosave

Автосохранение (Autosave)

Функциональность автосохранения позволяет сохранять изменения в вашей таблице без их явного сохранения в стабильную конфигурацию. 

Если эта функция включена, любое внесенное вами изменение автоматически записывается после 3 секунд неактивности. Эти автосохраненные изменения хранятся локально в вашем браузере и доступны только вам (не передаются другим пользователям). 

Существует три варианта хранения: 

22.png

Вариант 1: Window Session (Сессия окна)

  • Сохраняет текущую конфигурацию в сессии вашего браузера. 
  • Изменения остаются доступными до тех пор, пока окно браузера открыто. 
  • Закрытие браузера приведет к отмене всех автосохраненных изменений. 

Вариант 2: Browser IndexDB

  • Сохраняет текущую конфигурацию в хранилище IndexedDB браузера. 
  • Изменения сохраняются даже после закрытия и повторного открытия браузера. 
  • Лучший вариант для сохранения вашей личной незавершенной работы в течение нескольких сессий. 

Вариант 3: Disabled (Выключено)

  • Полностью отключает автосохранение. 
  • Никакие изменения не сохраняются автоматически. 

Примечание: Используйте Window Session для временной работы, IndexedDB для постоянных личных черновиков или Disabled, если вам нужны только ручные сохранения. В то же время не рекомендуется долго хранить важные изменения с помощью Autosave. Рассмотрите возможность использования вариантов стабильного сохранения для долгосрочных изменений. 

История версий

Когда включена функциональность Autosave, опция Version History становится доступной в File Menu.

История версий позволяет получить доступ к последним автосохраненным версиям всех авторизованных пользователей, имеющих доступ к приложению.
Другими словами, когда пользователи вносят изменения в Spreadsheet, их последние автосохраненные версии будут появляться на вкладке Version History, что упрощает их просмотр и восстановление.

Вы можете просматривать каждую сохраненную версию, чтобы проверить ее содержимое.
Нажмите Apply , чтобы восстановить выбранную версию в качестве текущего состояния Spreadsheet.

  • Если вы не являетесь владельцем приложения Qlik, примененная версия затронет только вашу личную последнюю сохраненную версию Spreadsheet.
  • Если вы являетесь владельцем приложения, применение версии обновит конфигурацию по умолчанию Spreadsheet для всех пользователей.

Импорт / Экспорт

Spreadsheets extension предоставляет надежные инструменты для импорта и экспорта данных, обеспечивая плавное взаимодействие с внешними файлами и программным обеспечением 

Импорт файлов Excel или CSV

Для импорта данных откройте вкладку FILE в ленточном меню и выберите Import. Вы можете загрузить файл .XLSX (Excel) или .CSV. 

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

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

Экспорт в Excel, CSV или PDF

Чтобы экспортировать таблицу, перейдите на вкладку FILE и выберите Export. Вы можете сохранить текущую книгу в формате .XLSX, .CSV или .PDF в зависимости от ваших потребностей. 

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

Примечание: при экспорте в Excel убедитесь, что флаг “ Include Binding Source ” включен. В противном случае файл экспорта может быть поврежден. 

Обратная запись (Writeback)

Extension Spreadsheets позволяет не только работать с данными, уже загруженными в приложение Qlik, но и записывать новые или обновленные данные обратно во внешнюю базу данных. Эта возможность позволяет реализовать интерактивные операционные сценарии использования, когда пользователи могут редактировать данные непосредственно в интерфейсе, подобном электронной таблице, и сохранять эти изменения за пределами Qlik.

Функциональность Writeback существует специально для поддержки этого рабочего процесса. В этом разделе документации вы узнаете, как настроить среду для обратной записи, подключить Spreadsheet extension к бэкенд-сервису и эффективно использовать функции обратной записи в своих приложениях Qlik — от настройки подключений данных до редактирования данных и перезагрузки контента приложения.

Обзор

Как структурирована обратная запись

1. Data Config — определение подключений данных

В Data Config вы настраиваете то, как Spreadsheet extension подключается к вашему бэкенду:

  • Определяете HTTP-эндпоинты для чтения и записи данных (GET, POST, PUT, DELETE, BATCH).
  • Настраиваете аутентификацию (необязательно).
  • Создаете логические таблицы (Tables), которые описывают доступ к таблице базы данных.

Таблица (Table) в этом контексте — это объект конфигурации, который представляет:

  • эндпоинт бэкенда,
  • таблицу или представление базы данных,
  • и правила взаимодействия с ними.

2. TableSheet — редактирование данных

В TableSheet вы выбираете одну из настроенных таблиц и привязываете ее к листу.

После подключения:

  • Данные загружаются из бэкенда.
  • TableSheet отображает табличное представление, отражающее данные базы данных.

Пользователи могут:

  • редактировать значения ячеек,
  • добавлять новые строки,
  • удалять существующие строки.

Все действия выполняются непосредственно в интерфейсе, подобном электронной таблице.
За кулисами эти действия преобразуются в CRUD-запросы или пакетные запросы (batch), отправляемые на бэкенд.

3. Сохранение изменений и перезагрузка данных

Когда пользователи заканчивают редактирование данных:

  • Изменения отправляются на бэкенд и сохраняются в базе данных.
  • Само приложение Qlik не обновляется автоматически.
  • Чтобы увидеть обновленные данные в визуализациях Qlik, пользователь должен явно инициировать перезагрузку (reload).

Доступны два варианта перезагрузки:

  • Частичная перезагрузка (Partial Reload)
    Обновляет данные для текущей пользовательской сессии.
  • Полная перезагрузка (Full Reload)
    Перезагружает полную модель данных приложения (доступно только опытным пользователям).

Перезагрузки инициируются через Qlik Engine API и зависят от правильной настройки скрипта загрузки приложения для чтения обновленных данных из бэкенда.

Бэкенд для обратной записи

Для поддержки обратной записи мы предоставляем пример эталонного бэкенда, построенного на:

  • Node.js
  • Express
  • SQLite

Репозиторий GitHub с примером бэкенд-решения: https://github.com/AnyChart/writeback-server-example 

Этот бэкенд:

  • Реализует необходимые CRUD и batch эндпоинты.
  • Хранит данные в реляционной базе данных.
  • Демонстрирует работу интеграции обратной записи от начала до конца.

Предоставленный бэкенд является демонстрационным:

  • Он подходит для локального тестирования и демо-версий.
  • Он предназначен для использования в качестве эталонной реализации.
  • Ожидается, что пользователи адаптируют или заменят его собственным бэкендом для промышленного использования.

Чем является (и чем не является) обратная запись

Обратная запись:

  • явная — пользователи сами решают, когда сохранять и перезагружать данные,
  • контролируемая — нет фоновых или запланированных перезагрузок,
  • гибкая — работает как с демо-бэкендами, так и с пользовательскими бэкендами.

Обратная запись не:

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

Типичный поток обратной записи

  1. Настройте подключения бэкенда в Data Config.
  2. Привяжите настроенную Table к TableSheet.
  3. Редактируйте данные непосредственно в TableSheet.
  4. Изменения отправляются на бэкенд и сохраняются.
  5. Запустите Partial или Full Reload для обновления данных Qlik.

Редактирование → Сохранение → Перезагрузка → Отображение обновленных данных в Qlik

________________________________________

Быстрый старт 

В этом разделе показан самый быстрый способ запустить рабочую демо-версию обратной записи с использованием предоставленного эталонного бэкенда.

Это руководство сосредоточено на стандартном сценарии и не затрагивает такие сложные темы, как пользовательские бэкенды, пагинация или сложная валидация.

Предварительные требования

  • Qlik Sense Desktop
  • Уже установлен Spreadsheet extension.
  • Node.js 
  • Базовое знакомство с:
    • скриптами загрузки Qlik
    • добавлением объектов на лист Qlik

Примечание: тот же рабочий процесс применим и к другим платформам Qlik.

Видеоурок

Скоро появится

Шаг 1: Запустите демонстрационный бэкенд обратной записи

Мы предоставляем пример эталонного бэкенда, созданный на Node.js + Express + SQLite.
Его можно адаптировать к вашей реальной среде.

  1. Клонируйте репозиторий:
    git clone https://github.com/AnyChart/writeback-server-example 
    cd writeback-server
  2. Установите зависимости:
    npm install
  3. Настройте переменные среды
    Создайте файл .env и установите следующие переменные:
    PORT = 3333
    TOKEN = testtoken123
  4. Запустите сервер:
    npm start
  5. Убедитесь, что бэкенд запущен:
      a. Откройте браузер или REST-клиент
      b. Проверьте, что GET-эндпоинт отвечает

http://localhost:<PORT>/employees/get

На данный момент бэкенд и демонстрационная база данных запущены локально.

Шаг 2: Создайте REST-коннектор в приложении Qlik

Чтобы изменения обратной записи стали видимы в визуализациях Qlik, приложение должно загружать данные напрямую из бэкенда.
Это делается с помощью REST-коннектора.

  • Откройте Data Load Editor.
  • Создайте новый REST-коннектор.
  • Установите URL-адрес GET-эндпоинта бэкенда (например, http://localhost:3333/employees/get).

Аутентификация (Важно)

Если ваш бэкенд требует аутентификации (как в демо-бэкенде):
Добавьте пользовательский заголовок в коннектор:
Name: Authorization
Value: Bearer YOUR_TOKEN


Примечания:

  • Значение токена должно совпадать с токеном, используемым в Spreadsheets extension.
  • Если ваш бэкенд не требует аутентификации, этот заголовок можно опустить.
  • Обработка аутентификации полностью зависит от реализации вашего бэкенда.

Сохраните коннектор.

В этом примере коннектор называется Writeback_DEMO

Шаг 3: Добавьте скрипт загрузки для чтения данных из бэкенда

После создания REST-коннектора добавьте скрипт загрузки, который считывает из него данные.

Пример скрипта загрузки:

LIB CONNECT TO 'Writeback_DEMO';

RestConnectorMasterTable:
SQL SELECT
 "id",
 "Region",
 "Director",
 "Salary",
 "HiredDate",
 "FiredDate"
FROM JSON (wrap on) "root";

[employees]:
REPLACE LOAD
 [id],
 [Region],
 [Director],
 [Salary],
 [HiredDate],
 [FiredDate]
RESIDENT RestConnectorMasterTable;

DROP TABLE RestConnectorMasterTable;

Перезагрузки (частичные или полные) повторно запускают этот скрипт, чтобы отразить изменения обратной записи.

Шаг 4: Добавьте Spreadsheet Extension в приложение

  1. Откройте приложение Qlik.
  2. Добавьте объект Spreadsheet на лист.

На данный момент таблица видна, но еще не подключена к какому-либо источнику данных.

Шаг 5: Настройте источник данных (Data Config)

  1. Откройте Data Config внутри Spreadsheet extension.
  2. Создайте новую Table.
  3. Введите учетные данные для аутентификации на бэкенде (токен).
  4. Настройте эндпоинты бэкенда (например, таблица сотрудников):
    1. GET: http://localhost:3333/employees/get
    2. POST: http://localhost:3333/employees/post
    3. PUT: http://localhost:3333/employees/put
    4. DELETE: http://localhost:3333/employees/delete
    5. BATCH: http://localhost:3333/employees/batch
  5. Сохраните конфигурацию.

Этот шаг определяет, как Spreadsheet extension взаимодействует с бэкендом.

Шаг 6: Привяжите таблицу к TableSheet

  1. Перейдите в TableSheet.
  2. Выберите настроенную Table из списка.
  3. Привяжите ее к листу.

После привязки:

  1. Данные загружаются из бэкенда.
  2. Отображается табличное представление, отражающее базу данных.
  3. Ячейки становятся редактируемыми.

Шаг 7: Протестируйте обратную запись

  1. Отредактируйте существующее значение в TableSheet или добавьте новую строку.
  2. Сохраните/примените изменения.
  3. Запустите перезагрузку:
    1. Partial Reload (рекомендуется)
    2. Full Reload (также доступно)

Extension выполнит следующее:

  • отправит изменения на бэкенд,
  • сохранит их в базе данных,
  • перезагрузит приложение через Qlik Engine API.

Шаг 8: Проверьте результат

После завершения перезагрузки:

  • Должны появиться обновленные данные:
    • в других визуализациях Qlik (например, таблицах, KPI),
    • а не только внутри Spreadsheet.
  • Это подтверждает, что:
    • обратная запись сработала,
    • данные были сохранены,
    • перезагрузка прошла успешно,
    • скрипт загрузки считывает обновленные данные.

Данные отредактированы в TableSheet → сохранены в базу данных → видны в визуализациях Qlik.

________________________________________

Архитектура

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

Поток высокого уровня

На высоком уровне архитектура обратной записи следует клиент-ориентированной модели явного взаимодействия:

  • Пользователь редактирует данные в Spreadsheet extension.
  • Extension отправляет запросы обратной записи на бэкенд обратной записи.
  • Бэкенд сохраняет изменения в базе данных.
  • Пользователь явно запускает перезагрузку из расширения.
  • Приложение Qlik перезагружает данные и обновляет визуализации.

Фоновая синхронизация и автоматическая перезагрузка после обратной записи отсутствуют.

Все изменения состояния инициируются действиями пользователя.

Основные компоненты

Data Config (Extension)

Data Config — это слой конфигурации внутри расширения.

Обязанности:

  • Определение таблиц (Tables) и их эндпоинтов для:
    • GET
    • POST
    • PUT
    • DELETE
    • BATCH
    • COLUMNS
  • Настройка аутентификации.

Table — это объект конфигурации, а не сами данные.

Она описывает, как расширение взаимодействует с бэкендом.

TableSheet (Extension)

TableSheet — это уровень взаимодействия с данными.

Обязанности:

  • Привязка настроенной таблицы к выделенному представлению (TableSheet).
  • Отображение данных бэкенда в табличном формате.
  • Предоставление пользователям возможности:
    • редактировать значения ячеек,
    • добавлять строки,
    • удалять строки,
    • выполнять перезагрузку
  • Сбор изменений и их подготовка для обратной записи.

TableSheet представляет текущее состояние данных, загруженных из бэкенда, а не кэшированную или авторитетную копию.

Бэкенд обратной записи

Бэкенд обратной записи — это HTTP-сервис, отвечающий за сохранение данных.

Обязанности:

  • Прием CRUD и batch запросов от расширения.
  • Обработка входящих данных (в соответствии с реализацией бэкенда).
  • Сохранение данных в базе данных.
  • Возврат обновленных строк или результатов операции.

Важные границы:

  • Бэкенд не зависит от Qlik.
  • Бэкенд не запускает перезагрузки.
  • Бэкенд не управляет пользовательскими сессиями внутри Qlik.

Предоставленный бэкенд на Node.js + Express + SQLite служит эталонной реализацией, предназначенной для адаптации или замены в производственных средах.

База данных

База данных хранит авторитетное состояние данных.

Основные характеристики:

  • Бэкенд является единственным источником истины.
  • Изменения применяются немедленно по запросам обратной записи.
  • Промежуточный уровень хранения отсутствует.

Многопользовательское поведение следует модели «последний записавший побеждает»:

  • Одновременные обновления разрешаются в порядке выполнения.
  • Логика блокировки или слияния не применяется.

Этот подход исключает конфликты по определению и сохраняет предсказуемость системы.

Приложение Qlik и Engine

Приложение Qlik загружает данные из бэкенда через свой скрипт загрузки.

Обязанности:

  • Получение данных из бэкенда через GET-эндпоинты.
  • Построение модели данных приложения.
  • Обновление визуализаций после перезагрузки.

Перезагрузки инициируются из Spreadsheet extension с помощью Qlik Engine API.

Существуют:

  • нет задач перезагрузки QMC,
  • нет запланированных перезагрузок,
  • нет перезагрузок, инициированных сервером.

Аутентификация

Аутентификация между Spreadsheet extension и бэкендом обратной записи поддерживает три режима:

  • None — запросы отправляются без данных аутентификации.
  • Basic — запросы включают имя пользователя и пароль.
  • Token — запросы включают Bearer-токен в заголовке Authorization.

Extension только прикрепляет выбранные данные аутентификации к исходящим запросам.

Точная логика авторизации, правила валидации и контроль доступа полностью регулируются бэкендом.

Аутентификация необязательна и зависит от требований бэкенда.

Модель перезагрузки в архитектуре

Логика перезагрузки полностью принадлежит Spreadsheet extension (не бэкенду).

  • Перезагрузки инициируются пользователем явно.
  • Поддерживаются частичная (Partial) и полная (Full) перезагрузки.
  • Перезагрузки используют только Qlik Engine API.

Перезагрузка является отдельным от обратной записи шагом и никогда не бывает автоматической.

Резюме архитектуры

Архитектура обратной записи намеренно проста и наглядна:

  • Интерфейс и взаимодействие живут в Spreadsheet extension.
  • Сохранение данных обрабатывается бэкенд-сервисом.
  • Перезагрузка данных инициируется пользователем и учитывает сессию.
  • Многопользовательское поведение детерминировано через модель «последний записавший побеждает».
  • Нет QMC, нет задач перезагрузки, нет фоновых процессов.

Такой дизайн четко разделяет обязанности и позволяет масштабировать решение от демо-версий до производственных сред без пересмотра архитектуры.

________________________________________

Настройка бэкенда

Назначение бэкенда обратной записи

Бэкенд обратной записи — это необходимый компонент, который сохраняет изменения данных, сделанные в Spreadsheet extension.

В его обязанности входит:

  • прием запросов обратной записи от расширения,
  • запись данных в базу данных,
  • возврат обновленных записей клиенту.

Бэкенд намеренно отделен от Qlik и не управляет перезагрузками, сессиями или логикой интерфейса.

Демо-бэкенд (эталонная реализация)

Мы предоставляем демо-бэкенд, созданный на основе:

  • Node.js
  • Express
  • SQLite

Этот бэкенд служит в качестве:

  • готового к запуску демо для локального тестирования,
  • эталонной реализации для создания собственного бэкенда.

Он демонстрирует:

  • необходимые эндпоинты CRUD и batch,
  • ожидаемые форматы запросов и ответов,
  • базовую обработку аутентификации,
  • шаблоны взаимодействия с базой данных.

Демо-бэкенд не является промышленным решением и предназначен для демонстрационных и ознакомительных целей.

Запуск демо-бэкенда

Подробные инструкции по запуску и настройке демо-бэкенда находятся в репозитории GitHub:

Репозиторий сервера обратной записи — https://github.com/AnyChart/writeback-server-example 

В файле README репозитория описаны:

  • этапы установки,
  • переменные среды,
  • настройка аутентификации,
  • схема базы данных,
  • доступные эндпоинты,
  • примеры запросов.

Использование собственного бэкенда

Вы не обязаны использовать демо-бэкенд.

Можно использовать любую реализацию бэкенда, если она:

  • предоставляет совместимые эндпоинты CRUD и batch,
  • принимает и возвращает данные в формате JSON,
  • надежно сохраняет изменения,
  • обеспечивает аутентификацию и валидацию по мере необходимости.

Ответственность за:

  • валидацию данных,
  • безопасность,
  • контроль доступа,
  • масштабируемость

лежит на реализации бэкенда.

Эндпоинты CRUD должны соответствовать следующим требованиям:

Операция

Тип запроса

Данные запроса

Данные ответа

update

POST

Обновленные данные

Обновленные данные

read

GET

Нет данных

Массив записей

delete

DELETE

Удаленные данные или массив данных

Без ограничений

create

POST

Вставленные данные

Вставленные данные

getColumns

GET

 

Массив столбцов, где каждый столбец содержит свойства:

Свойство 'field' — имя столбца.

Свойство 'dataType' — тип данных столбца.

Свойство 'defaultValue' — значение записи по умолчанию в столбце.

Свойство 'isPrimaryKey' — первичный столбец.

batch

POST

Массив объектов, где каждый объект содержит свойство 'type'.

Тип операции может быть 'update', 'insert', 'delete', 'addColumn', 'updateColumn' или 'removeColumn'.

Свойство 'dataItem' — текущая запись.

Свойство 'sourceIndex' — индекс записи.

Необязательное свойство 'oldDataItem' — исходная запись.

Необязательное свойство 'column' — текущий столбец.

Необязательное свойство 'data' — значение по умолчанию текущего добавленного столбца.

Необязательное свойство 'originalColumn' — исходный столбец.

Например:

[ {"type":"addColumn","column":{...}},

{"type":"updateColumn","column":{...}, "originalColumn":{...}},

{"type":"removeColumn","column":{...}},

{"type":"delete","dataItem":{...}, "sourceIndex":5},

{"type":"insert","dataItem":{...}, "sourceIndex":3},

{"type":"update","dataItem":{...}, "oldDataItem":{...}, "oldDataItem":{...}, "sourceIndex":1}]

Массив объектов, где каждый объект содержит свойство 'succeed', указывающее на успех или неудачу операции, и необязательное свойство 'data', которое является текущей записью и используется только для операции 'insert'.

Например:

[{"succeed":true}, {"succeed":false}, {"succeed": true},

{"succeed":true}, {"succeed":false}, {"succeed": true}]

Резюме по бэкенду

  • Бэкенд обязателен для работы обратной записи.
  • Демо-бэкенд предоставляется для удобства и в качестве примера.
  • В производственных средах следует использовать собственный бэкенд.
  • Детали реализации бэкенда задокументированы на GitHub.

________________________________________

Конфигурация расширения

Этот раздел посвящен настройке Spreadsheets extension внутри приложения Qlik таким образом, чтобы оно могло взаимодействовать с бэкендом обратной записи, сохранять изменения данных и инициировать перезагрузки.

Обзор конфигурации источника данных

Конфигурация обратной записи управляется через окно Data Source.

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



Чтобы получить к нему доступ, выберите раздел Data в Ribbon menu и нажмите кнопку Data Source Config


 

Настройки таблицы

Аутентификация

Для каждой таблицы можно настроить метод аутентификации.
Выбранный метод применяется ко всем запросам, выполняемым для этой таблицы.

Доступные варианты:

  1. None
    Аутентификация не используется.
    Запросы отправляются без каких-либо заголовков авторизации.
  2. Basic
    Используется пара «имя пользователя и пароль».
    Учетные данные отправляются с использованием стандартной HTTP-аутентификации Basic.
  3. Token
    Используется Bearer-токен.
    Токен прикрепляется к запросам в виде заголовка Authorization: Bearer <token>.

Аутентификация необязательна и полностью зависит от реализации бэкенда.

Примечание к демо-бэкенду:

Демо-сервер обратной записи, предоставляемый AnyChart, по умолчанию использует аутентификацию на основе токенов. Это сделано для простоты и наглядности в эталонной реализации.

Имя таблицы (Table Name)

Логическое имя, используемое внутри расширения.
Это имя выбирается позже при привязке таблицы к TableSheet.

Конфигурация эндпоинтов

Для каждой операции укажите:

  • Метод HTTP
  • Полный URL эндпоинта

Поддерживаемые операции:

  • Read (GET)
    Загружает данные в TableSheet.
  • Create (POST)
    Вставляет новые строки.
  • Update (PUT)
    Обновляет существующие строки.
  • Delete (DELETE)
    Удаляет строки.
  • Batch (POST)
    Применяет несколько операций создания/обновления/удаления в одном запросе.
  • Get Columns (GET)
    Извлекает метаданные столбцов из бэкенда.

Примечания:

  • Эндпоинт Read (GET) обязателен для отображения данных.
  • Действия обратной записи работают только в том случае, если настроены соответствующие эндпоинты.
  • Если эндпоинт отсутствует, соответствующее действие не будет работать корректно.

Привязка таблицы к TableSheet

После настройки таблицы:

  • Перейдите в представление TableSheet, выбрав раздел Insert в Ribbon menu и нажав кнопку TableSheet
  • Выберите одну из настроенных таблиц в выпадающем списке.
  • Посмотрите на привязанную таблицу в TableSheet 

    После привязки TableSheet отображает данные, возвращенные эндпоинтом Read, и позволяет редактировать их в соответствии с настроенными операциями.

________________________________________

Использование обратной записи

В этом разделе объясняется, как работать с обратной записью внутри приложения Qlik, используя интерфейс TableSheet.

Редактирование существующих строк

Чтобы отредактировать существующие данные, сначала включите режим Row Action:

  • Откройте раздел Table Sheet Design в Ribbon menu.
  • Нажмите кнопку Row Action.

После включения режима Row Action:

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

Чтобы сохранить изменения в строке:

  • Нажмите на иконку галочки (✓) в левой части строки.

Это действие немедленно отправляет запрос Update на бэкенд.

Чтобы отменить изменения:

  • Нажмите на иконку крестика (✕) — строка вернется в прежнее состояние.

Добавление новых строк

Чтобы добавить новую строку:

  • Прокрутите TableSheet до самого низа.
  • Заполните последнюю пустую строку новыми данными (по крайней мере одна ячейка в строке должна быть заполнена).

Если требуются дополнительные поля, это определяется схемой бэкенда.

Чтобы сохранить новую строку:

  • Нажмите на иконку галочки (✓) слева.
  • Это отправит запрос Create на бэкенд.

Если бэкенд допускает отсутствие или пустоту значений, они сохраняются как есть.
Правила валидации зависят от реализации бэкенда.

Удаление строк

Чтобы удалить строку:

  • Найдите строку, которую хотите удалить.
  • Нажмите на иконку минуса (–) в левой части строки.

Это действие отправляет запрос Delete на бэкенд.

Сохранение изменений и пакетные действия (Batch)

Действия на уровне строк (иконки галочки/минуса) немедленно применяют изменения для этой строки.
Если вы внесли изменения в несколько строк и хотите применить их вместе:

  • Откройте Table Sheet Design в Ribbon menu.
  • Откройте выпадающий список Batch.
  • Нажмите Submit.

Это отправит все ожидающие изменения в одном пакетном запросе.

Примечание: чтобы включить функциональность Batch — включите опцию “Batch” в Data Source Config.

Перезагрузка данных в Qlik

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

Элементы управления перезагрузкой находятся здесь:
Ribbon menu → Table Sheet Design → выпадающий список Batch

Доступные варианты:

  • Partial Reload
  • Full Reload

Примечания:

  • Перезагрузки всегда запускаются вручную.
  • Partial reload требует соответствующей структуры скрипта загрузки приложения.
  • После завершения перезагрузки все диаграммы и таблицы в приложении отражают обновленные данные.

Пример типичного рабочего процесса

Обычный рабочий процесс обратной записи выглядит так:

  • Отредактируйте значения в TableSheet
  • Сохраните строки с помощью галочки
  • Запустите Partial Reload
  • Увидьте обновленные данные в диаграммах и таблицах

Это делает процесс обратной записи явным, предсказуемым и легко управляемым

AI-формула

Функция AI Formula позволяет выполнять запросы на естественном языке с использованием подключенной модели ИИ (в альфа-версии поддерживается подключение только к OpenAI). Это позволяет таблицам стать интерактивными, интеллектуальными инструментами, способными генерировать или трансформировать контент на лету с помощью текстовых подсказок. 

Конфигурация (Property Panel)

Чтобы использовать AI-формулы, перейдите в раздел AI Formula в Property Panel расширения и настройте следующие параметры: 

  • AI server URL 
    Эндпоинт для OpenAI API (например, https://api.openai.com/v1/chat/completions) 
  • AI model 
    В настоящее время поддерживаются: 
    • Gpt-3.5-turbo 
    • Gpt-4 
      (В будущем будут добавлены дополнительные модели) 
  • Max tokens per request 
    Контролирует длину ответа ИИ (по умолчанию: 4000) 
  • Formula evaluation mode 
    Определяет, когда выполняется запрос к ИИ: 
    • On recalculation 
    • Once 
    • On interval 
  • API Key 
    Ваш секретный ключ OpenAI (должен иметь действующие права доступа к выбранной модели) 

Использование формулы AI() в таблице

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

=AI("Translate this sentence to Spanish: " & A2) 

Синтаксис формулы: 

AI(query_string) 

  • query_string – текстовая подсказка (промпт), которая будет отправлена выбранной модели (может быть статической или динамической с использованием ссылок на ячейки) 

Результат будет отображен непосредственно в ячейке, где введена формула. 

Преобразование из расширения Table

Вы можете преобразовать стандартную диаграмму Qlik Table в Spreadsheets extension. 

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

Как преобразовать диаграмму Table: 

  1. Убедитесь, что на листе вашего приложения есть Table chart с данными. 
  2. Войдите в Edit Mode и откройте панель Assets
  3. Перейдите в Custom Objects
  4. Найдите расширение Spreadsheets
  5. Перетащите его на существующую диаграмму Table. 
  6. Выберите Convert

Примечание: Преобразование работает только в одну сторону. Преобразование Spreadsheet обратно в стандартную диаграмму Qlik Table не поддерживается. 

Совет: Используйте эту функцию для быстрой миграции существующих таблиц в Spreadsheets и доступа к расширенным функциям редактирования и взаимодействия. 

Горячие клавиши

Список горячих клавиш, доступных для использования в Spreadsheet extension. 

КЛАВИША ДЕЙСТВИЕ 
Ctrl+Z отмена 
Ctrl+Y повтор 
Ctrl + Down переход в самый низ 
Down переход вниз 
End переход в конец 
Ctrl+Right переход в конец 
Ctrl+Home переход в начало листа 
Home переход в начало 
Ctrl+Left переход в начало 2 
Ctrl+End переход в правый нижний угол листа 
Left переход влево 
Tab переход к следующей ячейке 
PageDown переход на страницу вниз 
PageUp переход на страницу вверх 
Ctrl+PageUp переход на предыдущий лист 
Ctrl+PageDown переход на следующий лист 
Shift+Tab переход к предыдущей ячейке 
Right переход вправо 
Ctrl+Up переход в самый верх 
Up переход вверх 
Delete очистить 
Back очистить и редактировать 
Enter подтвердить ввод и перейти вниз 
Shift+Enter подтвердить ввод и перейти вверх 
ESC отмена ввода 
Shift+Left выделение влево 
Shift+Right выделение вправо 
Shift+Up выделение вверх 
Shift+Down выделение вниз 
Shift+Home выделение до начала 
Ctrl+Shift+Left выделение до начала 
Shift+End выделение до конца 
Ctrl+Shift+Right выделение до конца 
Shift+PageUp выделение на страницу вверх 
Shift+PageDown выделение на страницу вниз 
Ctrl+Shift+Up выделение до самого верха 
Ctrl+Shift+Down выделение до самого низа 
Ctrl+Shift+Home выделение до первой ячейки 
Ctrl+Shift+End выделение до последней ячейки 
Ctrl+C Копировать 
Ctrl+X Вырезать 
Ctrl+V Вставить 
Alt+Enter Ввод новой строки 

Другие расширения AnyChart
Дерево декомпозицииBullseye ChartКруговой индикаторКомбинированная диаграммаCолнечный лучПроектная диаграмма ГантаРесурсная диаграмма ГантаВременная шкалаКлассический водопадРасширенный водопадSankey Chart
Скачать расширение Spreadsheets
Скачать
Поделиться страницей
LinkedInFacebookXEmail
---