Получите количество нескольких файлов, загруженных в одном статусе

Я хочу получить общее количество всех строк в нескольких файлах, которые сохранены как QVD. Собственно, с одним файлом я бы сделал вот так:

data:
LOAD count(id) AS counter FROM data.qvd (qvd);
LET number = Peek('counter');

Конечно, я знаю, что могу использовать RowNo() или Count() всю таблицу в одной команде, но я хочу попробовать это с этим решением.

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

data_multiple:
LOAD count(id) AS counter FROM data_*.qvd (qvd);
LET number_multiple = Peek('counter');

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

Что я пробовал на данный момент

Я уже пытался переставить утверждение вот так:

data:
LOAD id FROM data_*.qvd (qvd);

LOAD Count(id) AS counter Resident data;
LET number = Peek('counter');

Но я получаю все тот же результат. Есть ли способ добиться этого?


person Julian Schmuckli    schedule 26.11.2018    source источник


Ответы (1)


Я спросил то же самое вопрос на официальной странице сообщества Qlik. Там я получил ответ:

let total_number = 0;

for each file in filelist('D:\Data\data_*.qvd') 
    QVDRecords: load QvdNoOfRecords('$(file)') as Counter, '$(file)' as Source autogenerate 1; 
    total_number = total_number + Peek('Counter');
next 

trace QVD: $(total_number); 
person Julian Schmuckli    schedule 27.11.2018