Возможен ли такой фильтр. (парсинг строки параметров URL)

Автор asdlegioner, декабря 05, 2014, 10:32:05 am

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

asdlegioner

декабря 05, 2014, 10:32:05 am Последнее редактирование: декабря 05, 2014, 11:06:44 am от asdlegioner
Привет, такой вопрос:

У меня есть поле в excel с таким содержанием:
http://www.сайт.ru/promo.html?utm_source=YD&utm_medium=cpc&utm_content=prodvizhenie&utm_campaign=obshhie_poisk_spb&yclid=5807162979809803946

Можно ли написать какой нить фильтр который выводил бы значения переменных из ссылки к примеру из utm_source=YD брал значение YD, и так далее по всем переменным в cсылке.

admin

Конечно, как ни странно, но это тоже структурированная информация.
? - начало строки параметров
& - разделитель параметров
= - разделитель параметр/значение.
Думаю, для скрипта понадобится написание макроса.


admin

Для написания примера мне не совсем понятна задача, но вот перечень функций, с примерами, которые могут помочь решить задачу самостоятельно:

len( s)
Длина строки s. Результат -- целое число.

left( s , n)

Подстрока строки s. Результат -- строка, содержащая первые n символов строки s.

right( s , n)
Подстрока строки s. Результат -- строка, содержащая последние n символов s.

mid(s, n1[, n2 ])
Подстрока строки s. Результат -- строка, начинающаяся с символа n1 с длиной n2 символов. Если переменная n2 отсутствует, функция возвращает правую часть строки, начинающуюся с символа n1. Позиции строки пронумерованы, начиная с 1.

index(s1 , s2[ , n])
Позиция подстроки. Эта функция возвращает начальную позицию вхождения n: подстроки s2 в строке s1. Если переменная n отсутствует, используется первое вхождение. Если n -- отрицательное число, поиск выполняется, начиная с конца строки s1. Результат -- целое число. Позиции строки пронумерованы, начиная с 1.

Интересна также
subfield(s, 'delimiter' [ , index ] )
В этой версии с тремя параметрами данная функция скрипта возвращает определенную подстроку большей строки s с разделителем «delimiter». index -- дополнительное целое число, обозначающее подстроку, которая должна быть возвращена. Если index отсутствует, при использовании subfield в выражении поля в операторе load функция subfield укажет оператору load на автоматическое создание одной полной записи для каждой подстроки в s.
В версии с двумя параметрами функция subfield создает одну запись для каждой подстроки, которая может быть получена для строки s большего размера с разделителем «delimiter». При использовании нескольких функций subfield в одном операторе load будет получено декартово произведение всех сочетаний.

TextBetween(s , beforetext , aftertext [, n ])
Возвращает текст между вхождением n: beforetext и непосредственно следующим вхождением aftertext в строке s.

FindOneOf(text , characterset [ , n])
Возвращает позицию n: в строке text of любых символов, найденных в строке characterset. Если n отсутствует, возвращается позиция первого вхождения. Если соответствующая строка не найдена, возвращается 0.

Примеры можно найти в справке по Qlikview или в руководстве.


asdlegioner

декабря 05, 2014, 01:48:53 pm #4 Последнее редактирование: декабря 05, 2014, 01:51:31 pm от asdlegioner
А задача простая, есть два excel файла первый с доходами где указан источник трафика в виде урла http://www.сайт.ru/promo.html?utm_source=YD&utm_medium=cpc&utm_content=prodvizhenie&utm_campaign=obshhie_poisk_spb&yclid=5807162979809803946 и второй файл с расходами где указаны ключевые слова и номера объявлений.

Вот мне и надо из этой ссылки вцепить ключ и номер объявления и сопоставить их с расходами из второго файла, тогда я смогу подсчитать доход от клиента с учетом расходов на рекламу). Таким образом хочу настроить связь двух таблиц по фразе и номеру объявления.

admin


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