Qlik преобразования в загрузочном скрипте

Автор Валерий, 23 октября 2020, 10:04:53

« назад - далее »

Валерий

Добрый вечер!
Есть следующая таблица:

номер          столбец2    столбец3   столбец4
11111111   текст1       текст2   текст3
           текст1       текст2   текст3
           текст1       текст2   текст3
           текст1       текст2   текст3
22222222   текст1       текст2   текст3
           текст1       текст2   текст3
           текст1       текст2   текст3
           текст1       текст2   текст3
           текст1       текст2   текст3
           текст1       текст2   текст3
           текст1       текст2   текст3
           текст1       текст2   текст3
           текст1       текст2   текст3
           текст1       текст2   текст3
           текст1       текст2   текст3
33333333   текст1       текст2   текст3
           текст1       текст2   текст3
           текст1       текст2   текст3
           текст1       текст2   текст3
           текст1       текст2   текст3

На выходе надо получить такую таблицу:

номер         столбец2   столбец3 столбец4
11111111   текст1   текст2   текст3
11111111   текст1   текст2   текст3
11111111   текст1   текст2   текст3
11111111   текст1   текст2   текст3
22222222   текст1   текст2   текст3
22222222   текст1   текст2   текст3
22222222   текст1   текст2   текст3
22222222   текст1   текст2   текст3
22222222   текст1   текст2   текст3
22222222   текст1   текст2   текст3
22222222   текст1   текст2   текст3
22222222   текст1   текст2   текст3
22222222   текст1   текст2   текст3
22222222   текст1   текст2   текст3
22222222   текст1   текст2   текст3
33333333   текст1   текст2   текст3
33333333   текст1   текст2   текст3
33333333   текст1   текст2   текст3
33333333   текст1   текст2   текст3
33333333   текст1   текст2   текст3

Т.е. заполнить пустые ячейки значениями из выше.
В теории я понимаю, что нужно ввести доп переменную, присвоить ей значение из первого столбца и потом в цикле "бежать" по всей таблице и в случае "" подставлять переменную, в другом случае записывать в неё новое значение и только потом подставлять...
Но на практике не вышло. Прошу помощи.
Заранее спасибо.


govorun

Есть такая примочка Previous(), она бы наверное сгодилась, но я бы на Вашем месте начал бы того, как формируется исходная таблица. Лучше не подлаживать Клику подобные таблицы для преобразования. Есть зависимость от порядка сортировки, загрузки... Если эта таблица грузится из Excel или еще откуда, то давайте сделаем ее правильной изначально во избежание возможных ошибок.

Uunit

При загрузке используйте это.
IF(isnNull(номер),Peek(номер),номер) as номер

Валерий

Previos() корректно отработал только 1 раз, т.е. из массива:
1111 ; - ; - ; - ; -
получил массив:
1111 ;1111 ; - ; - ; -

isnNull(номер) не хотел работать и я его заменил на len(номер)=0, далее в связке с Peek всё отлично заработало.

Спасибо!  :)  :)  :)

govorun

Значит что-то не так делали. Оба предложенных варианта должны были отработать корректно.

Яндекс.Метрика