Skip to main content
Woohoo! Qlik Community has won “Best in Class Community” in the 2024 Khoros Kudos awards!
Announcements
Nov. 20th, Qlik Insider - Lakehouses: Driving the Future of Data & AI - PICK A SESSION
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Как выгрузить данные из файла qvf (Qlik Sense) со структурой

Коллеги, вот небольшая инструкция как выгрузить данные из файла qvf (Qlik Sense) со структурой таблиц. Надеюсь, многим окажется полезным.

Создайте новый проект Qlik Sense и перейдите в секцию Main.

Настройте новое соединение выбрав "Create new connection"

Выберите директорию, где лежит исходный файл. Назовите новое соединение "Source"

Внесите данный скрипт в самое начало секции "Main":

//Не забывайте, что для загрузки Binary этот оператор должен быть САМЫМ ПЕРВЫМ

Binary [lib://Source/Executive Performance Mgmt.qvf]; //введите имя исходного файла

for i=0 to NoOfTables() - 1 //получаем кол-во таблиц

LET vTable = TableName(i); //имя очередной таблицы

LET vTable1 = 'lib://Source/Data/' & vTable & '.qvd'; //формируем путь, куда записываем данные из исходного файла. Например, назовите директорию с данными "Data"

    STORE $(vTable) INTO $(vTable1); //Сохраняем...

 

next

//exit Script; //раскомментируйте, если хотите оставить таблицы в новом файле

//иначе - удаляем таблицы

LET j = NoOfTables();

   

do while j > 0

LET vTable = TableName(0);

drop table '$(vTable)';

LET j = NoOfTables();

loop

exit Script;

SET ThousandSep=' '; //вот - начало старой секции Main. Скрипт должен вставляться ДО неё.

Запустите загрузку. Вы получите полный список загруженных таблиц в указанной директории. Немного изменив скрипт исходного документа, проставив актуальный connection и указанную директорию - в данном примере "Data", вы сможете загружать данные таблицы обратно.

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

LOAD

    zEMPKEY,

    "Employee Name",

    "Employee Total Compensation",

    GeoMakePoint(EmployeeLatitude, EmployeeLongitude) as EmployeeGeoPoint //эти данные, увы, не загрузятся.

FROM [lib://Source/Data/Employees.qvd]

Но зато большинство данных можно вытянуть.

Удачи!

С Уважением,

Георгий

0 Replies