Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
Декабрь 12, 2018, 08:44:23 am

Автор Тема: Как получить виртуальный массив значений из строки?  (Прочитано 130 раз)

Оффлайн Hugo

  • Новичок
  • *
  • Сообщений: 18
  • Страна: lv
  • Рейтинг: +1/-0
    • Просмотр профиля
Добрый день всем.
Ищу помощи в одной вроде бы несложной задаче (Qlikview/Sense).
Что есть:
Есть таблица допустим в 3 столбца - Торговец | магазин |значение.
Скриптом из других данных получаю в маппинг таблицу с перечнем уникальных значений для магазинов (используя concat( distinct поле, '/')).
Т.е. например для одного магазина определённого торговца есть перечень "1/2/3", для другого "2/4"
Навешиваю это дело на магазины.
Что ищу:
каким инструментом в диаграмме при отборе по этому же торговцу получить перечень  "1/2/3/4" (сейчас имею  "1/2/3/2/4")
Не хватает возможностей Split().... Что-то вроде concat(distinct split(concat(значение, '/'), '/'), '/').
P.S. Пока писал пришла мысль что может помочь ещё один маппинг уже для торговца, но не помню сейчас возможно ли технически, да и таблицу это усложнит...
Чем получить массив из строки? Чтоб потом его пересобрать в строку.

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1236
  • Страна: ru
  • Рейтинг: +133/-0
    • Просмотр профиля
Привет,
fieldlist() ?

Оффлайн Hugo

  • Новичок
  • *
  • Сообщений: 18
  • Страна: lv
  • Рейтинг: +1/-0
    • Просмотр профиля
Привет!
Не похоже.
Про это нашёл только
Цитировать
The FieldList has a property Item which is an array of NxFieldDescription available in the app.
Это явно другое.
Ну почему нет Split()??? :(

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


Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1236
  • Страна: ru
  • Рейтинг: +133/-0
    • Просмотр профиля

Оффлайн Hugo

  • Новичок
  • *
  • Сообщений: 18
  • Страна: lv
  • Рейтинг: +1/-0
    • Просмотр профиля
Спасибо.
Почему-то думал без индекса не сработает, ан нет - что-то получается.
Но почему-то криво, см. скрин
http://prntscr.com/lss9op
Почему-то как нужно формируется только один последний столбец...
Завтра попробую в функцию внедрить.

Оффлайн Hugo

  • Новичок
  • *
  • Сообщений: 18
  • Страна: lv
  • Рейтинг: +1/-0
    • Просмотр профиля
Не работает...
В диаграмме сейчас работает
concat(distinct Маршрут,chr(10))выводит перечень маршрутов без повторов на уровне строк, но остаются повторы которые появляются при соединении значений строк.
Т.е. например в строках есть
RU-DE
ES-KZ
и
ES-KZ
DE-RU
В самих строках повторов нет (убил), при concat они появляются, т.к. они есть в разных строках.
Работает даже так (правда выводит ерунду):
//Concat(DISTINCT
subfield(
trim(
concat(DISTINCT Маршрут,chr(10))
)
,chr(10)
)
//,chr(10))
Убираем слэши - ошибка, результата нет...

Оффлайн admin

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1236
  • Страна: ru
  • Рейтинг: +133/-0
    • Просмотр профиля
Сделайте маршруты отдельным измерением на уровне скрипта.

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