Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Май 27, 2018, 06:30:26 am

Автор Тема: преобразование данных ( Qlikview / Qlik Sense )  (Прочитано 3149 раз)

Оффлайн se

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

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1117
  • Страна: ru
  • Рейтинг: +119/-0
    • Просмотр профиля
Re: преобразование данных
« Ответ #1 : Июнь 23, 2015, 07:15:34 am »
День добрый, не совсем понятно как выглядит источник данных.
Можете снимком или файлом прикрепить образец во вложении?

Оффлайн se

  • Новичок
  • *
  • Сообщений: 6
  • Рейтинг: +0/-0
    • Просмотр профиля
Re: преобразование данных
« Ответ #2 : Июнь 24, 2015, 01:36:57 am »
вот данные в файле надо выбрать по номеру данные по стране и сумме

Неофициальный форум пользователей QlikView & Qlik Sense

Re: преобразование данных
« Ответ #2 : Июнь 24, 2015, 01:36:57 am »

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1117
  • Страна: ru
  • Рейтинг: +119/-0
    • Просмотр профиля
Re: преобразование данных
« Ответ #3 : Июнь 24, 2015, 07:21:54 am »
ОК, и к какому результату следует прийти?

Оффлайн se

  • Новичок
  • *
  • Сообщений: 6
  • Рейтинг: +0/-0
    • Просмотр профиля
Re: преобразование данных
« Ответ #4 : Июнь 24, 2015, 10:05:42 am »
нужно отобрать данные по номеру 102000000 если такие имеются скажем я отбираю по 1020 суммы которые попали в этот диапазон для айзербайджана и тд если в 1020 номере есть страна айзербайджан значит мне выдаст сумму по нему


Оффлайн se

  • Новичок
  • *
  • Сообщений: 6
  • Рейтинг: +0/-0
    • Просмотр профиля
Re: преобразование данных
« Ответ #5 : Июнь 26, 2015, 04:25:57 pm »
здесь наверное надо вставлять запрос с полнотекстовым поиском Какие правила вставки sql в скрипт?

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1117
  • Страна: ru
  • Рейтинг: +119/-0
    • Просмотр профиля
Re: преобразование данных
« Ответ #6 : Июнь 26, 2015, 04:38:57 pm »
Вечер добрый.
По простому говоря, нам следует выделить цифровой код и прописывать его в отдельной колонке до следующего.
Думаю, межзаписных функций будет достаточной (peek/previous)
Если сформируете табличный файл (Excel) для теста - сделаю скрипт для примера.

Неофициальный форум пользователей QlikView & Qlik Sense

Re: преобразование данных
« Ответ #6 : Июнь 26, 2015, 04:38:57 pm »

Оффлайн se

  • Новичок
  • *
  • Сообщений: 6
  • Рейтинг: +0/-0
    • Просмотр профиля
Re: преобразование данных ( Qlikview / Qlik Sense )
« Ответ #7 : Июнь 27, 2015, 02:08:26 pm »
Вот

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1117
  • Страна: ru
  • Рейтинг: +119/-0
    • Просмотр профиля
Re: преобразование данных ( Qlikview / Qlik Sense )
« Ответ #8 : Июнь 27, 2015, 03:07:15 pm »
ОК, спасибо.
Итак, во вложении табличный файл Книга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

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1117
  • Страна: ru
  • Рейтинг: +119/-0
    • Просмотр профиля
Re: преобразование данных ( Qlikview / Qlik Sense )
« Ответ #9 : Июнь 27, 2015, 03:33:06 pm »
Поясню, как загрузить такой файл.
Необходимо воспользоваться Мастером создания файла.
Открываете файл, первый экран с типом файла оставляем как есть.
На следующем этапе нажимаем кнопку "Вкл. Шаг трансформации".
На вкладке "Мусор" удаляем по условиям, условия даем поочередно. Я брал за условие "содержит" и часть фразы (Итого, Группа).
Далее идем на вкладку "Столб", нажимаем "Новый", ставим флажки на опциях "Заменить Null-значение предыдущим значением" и "Удалить исходную строку".
Исходный столбец = 1, в тестовом варианте, в вашем может отличаться.
Нажимаем "Ячейки из тех строк" и прописываем условие для определения кода, в тестовом варианте я поставил "начинается с" =1
Идем далее, ставим явные метки в параметрах файла, удаляем лишние столбцы и Готово.
Получим код.

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1117
  • Страна: ru
  • Рейтинг: +119/-0
    • Просмотр профиля
Re: преобразование данных ( Qlikview / Qlik Sense )
« Ответ #10 : Июнь 27, 2015, 03:42:49 pm »
Да, если требуется загрузить сведения в Qlik Sense, то придется воспользоваться Qlikview для формирования скрипта. Полученный код скопировать в скрипт загрузки данных Qlik Sense, заменив источник на заранее настроенное подключение (примерно [lib://test/Книга1.xlsx]).


Оффлайн se

  • Новичок
  • *
  • Сообщений: 6
  • Рейтинг: +0/-0
    • Просмотр профиля
Re: преобразование данных ( Qlikview / Qlik Sense )
« Ответ #11 : Июнь 27, 2015, 05:44:59 pm »
Может я не понял чем sense от view отличается но по моему view в полне самостоятельное приложение
Зачем итого если в коде с нолями уже итог идет а посчитать в группе можно формулу применить.В view там же есть инструменты фильтрации а код как я понял просто вместо лоад вставить и запустить загрузку.Еще не проверял а по проще чё нить можно написать?

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1117
  • Страна: ru
  • Рейтинг: +119/-0
    • Просмотр профиля
Re: преобразование данных ( Qlikview / Qlik Sense )
« Ответ #12 : Июнь 27, 2015, 09:39:10 pm »
Попроще только картинками.
Чтобы понять, надо повторить преобразование таблицы-примера, для этого:
1. Качаем таблицу во вложении.
2. Создаем новое приложение.
3. Открываем редактор скрипта (Ctrl-E).
4. Нажимаем кнопку "Табл.поля..."
5. Выбираем скачанный файл Книга1.xlsx
6. Выбираем "Метки" - Нет
7. Нажимаем "Далее"
8. Нажимаем кнопку "Вкл. Шаг трансформации"
9. Нажимаем "Удаление по условиям" для удаления ненужных строк.
10. Прописываем условия
и т.д.