преобразование данных ( Qlikview / Qlik Sense )

Автор se, 22 июня 2015, 09:40:04

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

se

Подскажите как  данные
столбец                         столбец2 в нём суммы
"102000000
ВСеГО                                                                                                                       
I.  СНг   
АЗЕРБАЙДЖАН                                                                               
II. Государства Мира               
еВРОПА                                                                                                                                                     
НиДЕРЛАНДы                                                                                                                   
ПОЛЬшА                                                                                                                           
ФРАНЦиЯ                                                                                                     
ЧЕХиЯ                                                                                               
"103000000
ПОЛЬшА                                                                                                                           
ФРАНЦиЯ                                                                                                     
ЧЕХиЯ 
загрузить так что бы можно было  выбрать государство и сумму  соответствующие определенному номеру

admin

День добрый, не совсем понятно как выглядит источник данных.
Можете снимком или файлом прикрепить образец во вложении?

se

вот данные в файле надо выбрать по номеру данные по стране и сумме

admin

ОК, и к какому результату следует прийти?

se

нужно отобрать данные по номеру 102000000 если такие имеются скажем я отбираю по 1020 суммы которые попали в этот диапазон для айзербайджана и тд если в 1020 номере есть страна айзербайджан значит мне выдаст сумму по нему


se

здесь наверное надо вставлять запрос с полнотекстовым поиском Какие правила вставки sql в скрипт?

admin

Вечер добрый.
По простому говоря, нам следует выделить цифровой код и прописывать его в отдельной колонке до следующего.
Думаю, межзаписных функций будет достаточной (peek/previous)
Если сформируете табличный файл (Excel) для теста - сделаю скрипт для примера.


admin

#8
ОК, спасибо.
Итак, во вложении табличный файл Книга1.xlsx похожий на ваш источник.
Используя трансформацию мастера создания файлов можно прийти к требуемому результату за один этап загрузки.
Вот код, который формирует из моего примера требуемую таблицу.

LOAD text(@1) as Страна,
     @2 As Значение,
     text(@3) as Код
FROM [Книга1.xlsx]
(ooxml, no labels, table is Лист1, filters(
Remove(Row, RowCnd(CellValue, 1, StrCnd(equal, 'Итого'))),
Remove(Row, RowCnd(CellValue, 1, StrCnd(contain, 'Группа'))),
ColXtr(1, RowCnd(CellValue, 1, StrCnd(start, '1')), 0),
Replace(3, top, StrCnd(null)),
ColXtr(1, RowCnd(CellValue, 1, StrCnd(start, '1')), 0),
Replace(3, top, StrCnd(null)),
Remove(Row, RowCnd(CellValue, 1, StrCnd(start, '1')))
));


admin

#9
Поясню, как загрузить такой файл.
Необходимо воспользоваться Мастером создания файла.
Открываете файл, первый экран с типом файла оставляем как есть.
На следующем этапе нажимаем кнопку "Вкл. Шаг трансформации".
На вкладке "Мусор" удаляем по условиям, условия даем поочередно. Я брал за условие "содержит" и часть фразы (Итого, Группа).
Далее идем на вкладку "Столб", нажимаем "Новый", ставим флажки на опциях "Заменить Null-значение предыдущим значением" и "Удалить исходную строку".
Исходный столбец = 1, в тестовом варианте, в вашем может отличаться.
Нажимаем "Ячейки из тех строк" и прописываем условие для определения кода, в тестовом варианте я поставил "начинается с" =1
Идем далее, ставим явные метки в параметрах файла, удаляем лишние столбцы и Готово.
Получим код.

admin

Да, если требуется загрузить сведения в Qlik Sense, то придется воспользоваться Qlikview для формирования скрипта. Полученный код скопировать в скрипт загрузки данных Qlik Sense, заменив источник на заранее настроенное подключение (примерно [lib://test/Книга1.xlsx]).


se

Может я не понял чем sense от view отличается но по моему view в полне самостоятельное приложение
Зачем итого если в коде с нолями уже итог идет а посчитать в группе можно формулу применить.В view там же есть инструменты фильтрации а код как я понял просто вместо лоад вставить и запустить загрузку.Еще не проверял а по проще чё нить можно написать?

admin

#12
Попроще только картинками.
Чтобы понять, надо повторить преобразование таблицы-примера, для этого:
1. Качаем таблицу во вложении.
2. Создаем новое приложение.
3. Открываем редактор скрипта (Ctrl-E).
4. Нажимаем кнопку "Табл.поля..."
5. Выбираем скачанный файл Книга1.xlsx
6. Выбираем "Метки" - Нет
7. Нажимаем "Далее"
8. Нажимаем кнопку "Вкл. Шаг трансформации"
9. Нажимаем "Удаление по условиям" для удаления ненужных строк.
10. Прописываем условия
и т.д.


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