Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Декабрь 18, 2017, 07:48:06 pm

Автор Тема: определенный текст из строки в Qlikivew / Qlik Sense  (Прочитано 6293 раз)

Оффлайн PadijVD

  • Наставник
  • **
  • Сообщений: 52
  • Рейтинг: +5/-0
    • Просмотр профиля
Добрый день!
Подскажите как можно в qlikview взять определенный текст из строки?
Нужно из адресов типа " Российская Федерация, 630007, Новосибирская обл, Новосибирск г, Колыванская, 104, - " взять только область в данном случае это "Новосибирская обл"

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1005
  • Страна: ru
  • Рейтинг: +103/-0
    • Просмотр профиля
Re: определенный текст из строки
« Ответ #1 : Апрель 05, 2015, 12:37:27 pm »
День добрый.
Как и в любом другом языке программирования в  Qlikview & Sense присутствует целый набор функций для работы с текстовыми значениями.

Во вложении приведен вариант решения задачи (формула в нижней строке).
Описания функций можно найти по ссылке выше.
Если же адреса в этом поле имеют разные форматы, т.е. не последовательность "Страна, Индекс, Область, .." а например - "Индекс, область,..", то придется проанализировать все варианты и прописывать условия на определение формата в котором записан адрес и соответствующее выражения для каждого случая.
В данном варианте мы:
вырезаем функций MID() из строки Adr,
начиная с позиции после второй запятой Index(Adr,',',2)+1,
подстроку между 2 и 3 запятыми Index(Adr,',',3)-Index(Adr,',',2)-1,
и результат дополнительно очищаем от крайних пробелов функцией  TRIM()
trim(
  mid(Adr,
         Index(Adr,',',2)+1,
         Index(Adr,',',3)-Index(Adr,',',2)-1
        ))

Оффлайн PadijVD

  • Наставник
  • **
  • Сообщений: 52
  • Рейтинг: +5/-0
    • Просмотр профиля
Re: определенный текст из строки
« Ответ #2 : Апрель 05, 2015, 12:50:44 pm »
Спасибо, помогли!!!!

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

Re: определенный текст из строки
« Ответ #2 : Апрель 05, 2015, 12:50:44 pm »

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1005
  • Страна: ru
  • Рейтинг: +103/-0
    • Просмотр профиля
Re: определенный текст из строки
« Ответ #3 : Апрель 06, 2015, 03:11:07 pm »
Да не за что  :), приведенное решение можно сказать - стандартно для работы с текстовыми строками во многих языках.
А вот в Qlikview и Sense для работы с такими данными есть еще функция Subfield().
trim(
SubField(Adr,',',3)
)
дает тот же результат.