Задача: Есть файл Excel, в котором название поля состоит из двух строк, причем в первой строке ячейки объединены. А во второй строке некоторые колонки одинаково названы. Нужно взять префикс из первой строки. В таблице 100 колонок.
// Загружаем название столбцов
[Название столбцов]:
First 2
LOAD *
FROM [lib://Проект Qlik Sense/Файл Excel c колонками.xlsm]
(ooxml, no labels, header is 3 lines, table is Данные);
Set пНазваниеБлока = '';
For i=1 to NoOfFields('Название столбцов')
Let пКодПоля = FieldName($(i),'Название столбцов');
Let пНазваниеБлока = if(not IsNull(Peek(FieldName($(i),'Название столбцов'),0,'Название столбцов')),Peek(FieldName($(i),'Название столбцов'),0,'Название столбцов'),'$(пНазваниеБлока)');
Let пНазваниеБлока = replace('$(пНазваниеБлока)','Общая часть','');
Let пНазваниеПоля = Peek(FieldName($(i),'Название столбцов'),1,'Название столбцов');
Let пСтрокаДляLoad = '[$(пКодПоля)] As ['&trim('$(пНазваниеБлока) $(пНазваниеПоля)')&']';
[Столбцы LOAD]:
Load '$(i)' As [Столбец ID],
'$(пКодПоля)' As [Код поля],
'$(пНазваниеБлока)' As [Название блока],
'$(пНазваниеПоля)' As [Название столбца для LOAD],
'$(пСтрокаДляLoad)' As [Строка Для Load]
AutoGenerate 1;
Next i
DROP Table [Название столбцов];
//Собираем поля в строку LOAD
NoConcatenate
[Строка Для Load]:
LOAD Concat([Строка Для Load],',',[Столбец ID]) as [Строка Для Load С Разделителем]
Resident [Столбцы LOAD]
;
Drop Table [Столбцы LOAD];
Let vLoadFromText = '
LOAD '&Peek('Строка Для Load С Разделителем',0,'Строка Для Load')&'
FROM [lib://Проект Qlik Sense/Файл Excel c колонками.xlsm]
(ooxml, no labels, header is 5 lines, table is Данные);
';
Данные:
$(vLoadFromText);
Введение Иногда при создании расширения Qlik Sense вам необходимо получить доступ к системным данным. Это…
// Команда, которая будет запускаться в Powershell на сервере LET vPowershellCommand = 'Get-ChildItem -Path ''lib://Data/QVDs''…
Как построить диаграмму Control Chart со скользящим средним в Qlik Sense? В этой статье будет…
Как сделать чередование цвета в строках прямой таблицы Qlik Sense? Если порядок строк неважен, то…
Обзор В этой серии руководств мы собираемся создать расширение Qlik Sense с использованием Nebula.js и…
Создание расширенного расширения визуализации с использованием Qlik Nebula.js и D3.js В моем последнем посте я рассказал…
This website uses cookies.