簡體   English   中英

Google Data Studio 中的 REGEXP_EXTRACT; 保持“空”

[英]REGEXP_EXTRACT in Google Data Studio; Keep Getting 'Null'

我正在 Google 的 Data Studio 中創建報告,過去我在Keyword維度上使用REGEXP_MATCH並結合CASE語句成功創建了幾個自定義維度,以創建我需要的維度。 這個讓我難住了。

我有通過Keyword維度傳入的數據,其中包含我想提取並顯示為自定義維度的子字符串。

通過的關鍵字數據的子集如下所示:

09172018_rp_ws_1_og_
img s4_ac_p_act_
img s5_ws_5_m_
img s4_ws_5_m_

我正在嘗試使用REGEXP_EXTRACT創建一個名為Image type的新計算字段,該維度將所有條目分組,以 img 開頭,后跟一個空格,然后是任何字母數字,然后以下划線結尾。 因此所有帶有img s4的條目將被組合在一起, img s5將被組合在一起。 關鍵字維度中沒有該模式的任何內容都可以完全排除在數據集之外。

我無法使用REGEXP_EXTRACT獲得除null以外的任何結果。

在為新計算字段輸入公式時,即使只是嘗試REGEXP_EXTRACT(Keyword, '.*img.*')產生空值。

讓我難過的是我嘗試了以下只是為了查看我的語法是否關閉,並且這個公式確實返回結果(只是不是我想要的,因為圖像類型沒有聚合)。

CASE
  WHEN (REGEXP_MATCH(Keyword, '.*img.*')) THEN Keyword
  ELSE "Not Set"
END

知道我哪里出錯了嗎? 無論我輸入什么,我都無法從REGEXP_EXTRACT(Keyword, 'your reg expression here')中得到任何輸出。

請注意,為了從REGEXP_EXTRACT提取任何文本,您應該在正則表達式模式中定義一個捕獲組 簡而言之,用一對未轉義的括號將您需要提取的部分括起來。

現在,要在字符串的開頭匹配img ,您需要使用^錨點,它匹配字符串位置的開頭。

要匹配 1 個或多個字符,請使用+

因此,您可以根據您的實際規則使用以下任何一種:

REGEXP_EXTRACT(Keyword, '^img ([a-zA-Z0-9_]+)')
REGEXP_EXTRACT(Keyword, '^img\\s+(\\w+)')
REGEXP_EXTRACT(Keyword, '^img\\s+(.+)')

細節

  • ^ - 字符串的開始
  • img - 文字子串
  • ([a-zA-Z0-9_]+) - 捕獲組 1:一個或多個字母、數字或_
  • \\s+ - 1 個或多個空格
  • \\w+ - 1 個或多個字字符:字母、數字或_
  • .+ - 1 個或多個除換行符以外的字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM