0 Replies Latest reply: Jul 5, 2017 6:53 AM by George Naneishvili RSS

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

    George Naneishvili

      Коллеги, вот небольшая инструкция как выгрузить данные из файла 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]

       

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

       

      Удачи!

       

      С Уважением,

      Георгий