источник exсel файл
в нем первые два поля постоянные, остальные добавляются периодически и таблица в экселе растет в ширину
как загрузку такого дела запилить в автоматизацию?
Привет.
Сложно, но можно.
Если нет вариантов по изменению этого процесса, стоит хотя бы договориться о неизменной строке, по которой можно будет судить о степени заполненности таблицы чтобы потом "колдовать" алгоритмом.
Либо просто грузить все по звездочке и уже разбираться с загруженным массивом.
А можно как-то загрузить определенное кол-во столбцов из источника?
Т.е. надо не load * и не явно указывать поля, а load first $(CountField) field
Просто щас нашел закономерность в структуре источника и стало понятно сколько нужно загружать полей
Это количество всегда естественно разное, но это значение понятно как рассчитать
Привет!
Первые 2 поля постоянные... Я так понимаю, что-то вроде сводной таблицы, которая увеличивается вправо. А CrossTable не подходит?
Цитата: Валерий от 15 января 2019, 04:23:02
Привет!
Первые 2 поля постоянные... Я так понимаю, что-то вроде сводной таблицы, которая увеличивается вправо. А CrossTable не подходит?
перед кросстэйблом надо понимать сколько полей загружать)
вопрос решил: Transpose() шапки, склеить поля в строку, потом load $(склееннаяшапка)
Нужно написать парсер, направление мысли можно посмотреть в статье https://qliksense.ivan-shamaev.ru/kak-rasparsit-fajl-excel-v-qlik-sense-po-polyam/
Суть: загружаются названия колонок, дальше склеивается так, как нужно. Пример приведен более сложный, но "как начать делать" можно глянуть.
Эм... а зачем всё так усложнять, вспоминаем мат.часть : xls*-файлы, это архивы, изначально.
Что нужно сделать перед загрузкой, распаковать архив, и заглянуть в xl\worksheets\ - там лежат xml-файлы со всеми нужными нам данными.
Название файла - это название листа в Excel, далее в самом файле - парсим названия колонок и далее формируем скрипт загрузки данных из него...
Цитата: Chernov от 15 января 2019, 08:44:32
Эм... а зачем всё так усложнять, вспоминаем мат.часть : xls*-файлы, это архивы, изначально.
Что нужно сделать перед загрузкой, распаковать архив, и заглянуть в xl\worksheets\ - там лежат xml-файлы со всеми нужными нам данными.
Название файла - это название листа в Excel, далее в самом файле - парсим названия колонок и далее формируем скрипт загрузки данных из него...
Ну мы же должны автоматизацией заниматься. Разархивировать вручную - не очень подходящий вариант.
Есть вариант установить odbc драйвер и подключиться к Excel и забрать из свойства листа название колонок. В моем случае был специфический пример, когда нужно к названию колонки префикс добавить (т.е. название колонки состоит из 2х строчек, причем 1я строка - объединенная ячейка). А пример привел сложный, т.к. просто был)
Цитата: Иван от 16 января 2019, 12:10:01
Цитата: Chernov от 15 января 2019, 08:44:32
Эм... а зачем всё так усложнять, вспоминаем мат.часть : xls*-файлы, это архивы, изначально.
Что нужно сделать перед загрузкой, распаковать архив, и заглянуть в xl\worksheets\ - там лежат xml-файлы со всеми нужными нам данными.
Название файла - это название листа в Excel, далее в самом файле - парсим названия колонок и далее формируем скрипт загрузки данных из него...
Ну мы же должны автоматизацией заниматься. Разархивировать вручную - не очень подходящий вариант.
Есть вариант установить odbc драйвер и подключиться к Excel и забрать из свойства листа название колонок. В моем случае был специфический пример, когда нужно к названию колонки префикс добавить (т.е. название колонки состоит из 2х строчек, причем 1я строка - объединенная ячейка). А пример привел сложный, т.к. просто был)
Но, есть Execute.... https://help.qlik.com/en-US/sense/November2018/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptRegularStatements/Execute.htm