Заменить 8 на 7 (Qlikview, QlikSense)

Автор HalLex, ноября 15, 2017, 09:55:33 pm

« предыдущая - следующая »

HalLex

ноября 15, 2017, 09:55:33 pm Последнее редактирование: ноября 17, 2017, 09:22:17 pm от admin
Здравствуйте!

Есть строки с номерами телефонов.
89160000000
79260000000
289180000000
1020
84957777777
и тп
Номера могут начинаться с любой цифры.
Задача, проверить первую цифру в номере и если она 8, заменить на 7.
По началу думал задача тривиальна, написал конструкцию:

if (Left(dst, 1)=8, (Replace (dst, Left(dst,1), 7)), dst ) as "Dialed Number",

Но внимательно почитав справку, понял, что такой подход заменит мне все восьмерки в номере, если выполняется условие, так как Replace заменяет все вхождения.
Подскажите, какая тут может быть логика и какими функциями можно решить задачу?
Спасибо.

admin

Привет.
Логика простая:
если слева 8, то строку обрезать, т.е. удалить первый символ и затем просто :
'7'&[укороченный на первый символ номер].
Примерно так:

if(Left(dst,1)='8'
    ,'7'&right(dst,len(dst)-1)
    ,dst)

HalLex

Гениально и просто)
Спасибо!

Рейтинг@Mail.ru Яндекс.Метрика