我正在嘗試從兩個特定dateHours之間的Google AnalyticsAPI檢索結果。我試圖使用以下過濾器:如何使用Google Analytics API上的dateHour過濾?
'filters' => 'ga:dateHour>2013120101;ga:dateHour<2013120501'
但這不起作用。我需要做什麼? (我之前使用過其他濾鏡,而且它們工作得很好)。
我正在嘗試從兩個特定dateHours之間的Google AnalyticsAPI檢索結果。我試圖使用以下過濾器:如何使用Google Analytics API上的dateHour過濾?
'filters' => 'ga:dateHour>2013120101;ga:dateHour<2013120501'
但這不起作用。我需要做什麼? (我之前使用過其他濾鏡,而且它們工作得很好)。
首先,您試圖對不起作用的維度使用大於和小於。維度過濾器只允許==,!=,= @,!@,=〜和!=。
所以,如果你想獲得GA:dateHour,你必須使用正則表達式過濾器:
ga:dateHour=~^2013120([1-4][0-2][0-9]|500)$;ga:dateHour!~^201312010[0-1]$
編輯: 我會毫不猶豫第二學習正則表達式,特別是如果你」是一名程序員。這裏有一篇關於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)
後匹配每個數字因此第一個[1-4]
將匹配20131201
,20131202
,20131203
和20131204
,那麼在這些字符串中,我們希望下一個數字是[0-2]
,並且與[0-9]
同樣如此。所以看看每個[]作爲一個數字範圍的佔位符。
|
手段或
500
說,我們只希望500
,僅此而已,所以它是非常具體的。
整個聲明被包裹在()
所以我們可以說他匹配[1-4][0-2][0-9]
或500
,在2013120
之後。
然後,我們以$
結束它以表示字符串的結尾。
這可能不是最簡潔的方式來描述這個過濾器是如何工作的,但我會做的是使用像regexpal或其他一些正則表達式測試工具的網站,並獲得您想要過濾的範圍和開始寫正則表達式。
祝你好運!
謝謝Blexy,它的工作原理。你介意給出一個你正在使用的正則表達式的快速解釋嗎?我不完全理解它。我問,因爲我將不得不篩選各種不同的dateHours,並需要能夠編輯正則表達式。 – TheBigDoubleA