我正在尝试从两个特定的dateHours之间的Google AnalyticsAPI检索结果。我尝试使用以下过滤器:
'filters' => 'ga:dateHour>2013120101;ga:dateHour<2013120501'
但这不起作用。我需要做什么? (之前我使用过其他过滤器,它们工作正常)。
答案 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
^
在字符串的开头
2013120
因为整个dateHour范围包含这个数字字符串,请查找
([1-4][0-2][0-9]|500)
匹配2013120
后的每个号码,因此第一个[1-4]
将匹配20131201
,20131202
,20131203
和{{1}然后,在这些字符串中,我们希望下一个数字为20131204
,同样为[0-2]
。因此,请将每个[]视为一系列数字的占位符。
[0-9]
表示或
|
说,我们只需要500
而已,而且非常具体。
整个陈述都包含在500
中,因此我们可以在()
之后说出他,匹配[1-4][0-2][0-9]
或500
。
然后,我们以2013120
结束它以表示字符串的结尾。
这可能不是描述此过滤器如何工作的最简洁方式,但我要做的是使用像regexpal这样的网站或其他一些正则表达式测试工具,并获得您喜欢的范围过滤并开始编写正则表达式。
祝你好运!