2014-01-15 2 views
2

Я пытаюсь получить результаты из API Google Analytics, которые находятся между двумя конкретными датами. Я попытался использовать следующий фильтр:Как фильтровать по дате в Google Analytics API?

'filters' => 'ga:dateHour>2013120101;ga:dateHour<2013120501' 

Но это не работает. Что мне нужно сделать? (Раньше я использовал другие фильтры, и они отлично работают).

ответ

3

Прежде всего, вы пытаетесь использовать больше и меньше, чем при измерении, которое не работает. Фильтры измерений допускают только ==,! =, = @,! @, = ~ И! =.

Итак, если вы хотите получить га: датаЧас, вы должны будете использовать регулярное выражение фильтра:

ga:dateHour=~^2013120([1-4][0-2][0-9]|500)$;ga:dateHour!~^201312010[0-1]$ 

EDIT: я бы не колебался ни секунды, чтобы узнать RegEx, особенно если вы» программист. Вот большой пост СО на learning regular expressions.

Таким образом, чтобы разбить его:

=~ looking to match the following regex 
!= not looking to match the following regex 

(проверить GA's filter operators)

^ в начале строки

2013120 поскольку весь диапазон датаЧас содержал эту строку чисел, посмотрите, что

([1-4][0-2][0-9]|500) соответствует каждому номеру после 2013120, поэтому первый [1-4] будет соответствовать 20131201, 20131202, 20131203 и 20131204, то в этих строках мы хотим, чтобы следующий номер будет [0-2] и также с [0-9]. Поэтому посмотрите на каждый [] в качестве заполнителя для ряда цифр.

| средства или

500 говорит, что мы хотим только 500 и больше ничего, так что это очень специфический.

Все заявление заворачивают в () таким образом, мы можем сказать, что он, матч [1-4][0-2][0-9] ИЛИ 500, после 2013120.

Затем мы заканчиваем его $, чтобы обозначить конец строки.

Это, возможно, не самый краткий способ описать, как работает этот фильтр, но то, что я хотел бы сделать, это использовать такой сайт, как regexpal или какой-либо другой инструмент для тестирования регулярных выражений, и получить диапазон, который вы хотите фильтровать и начало записи regex.

Удачи!

+0

Спасибо Blexy, он работает. Не могли бы вы дать краткое объяснение регулярного выражения, которое вы используете? Я не совсем понимаю это. Я спрашиваю, потому что мне придется фильтровать различные дни dateHours и вам нужно будет редактировать регулярное выражение. – TheBigDoubleA

Смежные вопросы