如何在Google AnalyticsAPI上按dateHour过滤?

时间:2014-01-15 00:04:12

标签: api google-analytics analytics google-analytics-api

我正在尝试从两个特定的dateHours之间的Google AnalyticsAPI检索结果。我尝试使用以下过滤器:

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

但这不起作用。我需要做什么? (之前我使用过其他过滤器,它们工作正常)。

1 个答案:

答案 0 :(得分:3)

首先,你试图使用大于和小于不起作用的维度。尺寸过滤器仅允许==,!=,= @,!@,=〜和!=。

所以,如果你想获得ga:dateHour,你将不得不使用正则表达式过滤器:

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

编辑: 我会毫不犹豫地学习RegEx,特别是如果你是一名程序员。这是learning regular expressions上很棒的SO帖子。

所以,要打破它:

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

(查看GA's filter operators

^在字符串的开头

2013120因为整个dateHour范围包含这个数字字符串,请查找

([1-4][0-2][0-9]|500)匹配2013120后的每个号码,因此第一个[1-4]将匹配201312012013120220131203和{{1}然后,在这些字符串中,我们希望下一个数字为20131204,同样为[0-2]。因此,请将每个[]视为一系列数字的占位符。

[0-9]表示或

|说,我们只需要500而已,而且非常具体。

整个陈述都包含在500中,因此我们可以在()之后说出他,匹配[1-4][0-2][0-9]500

然后,我们以2013120结束它以表示字符串的结尾。

这可能不是描述此过滤器如何工作的最简洁方式,但我要做的是使用像regexpal这样的网站或其他一些正则表达式测试工具,并获得您喜欢的范围过滤并开始编写正则表达式。

祝你好运!