---
schema_version: "1"
id: c35a7b227f9a231d1b1abbf07a823ee74db5be1a97cbd71b5b2471f5e3419d54
title: 其他函數（規則運算式、Hadoop Hive、Google Big Query）
collection: tableau
version: next
locale: zh-tw
portal_url: https://docs.salesforce.com/tableau/next/zh-tw/public/desktop/functions_functions_additional.md
canonical_url: https://help.tableau.com/v0.0/public/desktop/zh-tw/functions_functions_additional.htm
source_site: help.tableau.com
content_type: documentation
content_hash: ce6d3986656397030fa56e5a1eb77539e4b5d995b226fcb6a539a28c36cf7642
description: Reference for additional functions including regular expressions, Hadoop Hive, and BigQuery.
---
[跳至主要內容](#main-content)

# 其他函數（規則運算式、Hadoop Hive、Google Big Query）另請參閱：

[傳遞函數（RAWSQL）](https://help.tableau.com/current/pro/desktop/zh-tw/functions_functions_passthrough.htm)。

## 規則運算式 

有關規則運算式語法的資訊，請參閱資料來源的文件。對於 Tableau 擷取，規則運算式語法遵守 ICU（Unicode 國際化組件）的標準，ICU 是用於 Unicode 支援、軟體國際化和軟體全球化的成熟 C/C++ 和 Java 庫開源專案。請參閱線上 ICU 使用者指南中的[規則運算式](http://userguide.icu-project.org/strings/regexp)頁面。

### REGEXP\_REPLACE

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>語法</td><td><code>REGEXP_REPLACE(string, pattern, replacement)</code></td></tr><tr><td>輸出</td><td>字串</td></tr><tr><td>定義</td><td>返回給定字串的副本，其中規則運算式模式被替換字串取代。</td></tr><tr><td>範例</td><td><pre>REGEXP_REPLACE('abc 123', '\s', '-') = 'abc-123'</pre></td></tr><tr><td>說明</td><td><p>此函數可用於文字檔、Hadoop Hive、Google BigQuery、PostgreSQL、Tableau 擷取、Microsoft Excel、Salesforce、Vertica、Pivotal Greenplum、Teradata（版本 14.1 及更高版本）、Snowflake 和 Oracle 資料來源。</p><p>對於 Tableau 擷取，模式和替換字串必須為常量。</p></td></tr></tbody></table>

### REGEXP\_MATCH

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>語法</td><td><code>REGEXP_MATCH(string, pattern)</code></td></tr><tr><td>輸出</td><td>布林值</td></tr><tr><td>定義</td><td>如果指定的字串的子字串匹配規則運算式模式，則返回 true。</td></tr><tr><td>範例</td><td><pre>REGEXP_MATCH('-([1234].[The.Market])-','\[\s*(\w*\.)(\w*\s*\])')=true</pre></td></tr><tr><td>說明</td><td><p>此函數可用於文字檔、Google BigQuery、PostgreSQL、Tableau 擷取、Microsoft Excel、Salesforce、Vertica、Pivotal Greenplum、Teradata（版本 14.1 及更高版本）、Impala 2.3.0（透過 Cloudera Hadoop 資料來源）、Snowflake 和 Oracle 資料來源。</p><p>對於 Tableau 擷取，模式必須為常量。</p></td></tr></tbody></table>

### REGEXP\_EXTRACT

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>語法</td><td><code>REGEXP_EXTRACT(string, pattern)</code></td></tr><tr><td>輸出</td><td>字串</td></tr><tr><td>定義</td><td>返回與規則運算式模式匹配的字串部分。</td></tr><tr><td>範例</td><td><pre>REGEXP_EXTRACT('abc 123', '[a-z]+\s+(\d+)') = '123'</pre></td></tr><tr><td>說明</td><td><p>此函數可用於文字檔、Hadoop Hive、Google BigQuery、PostgreSQL、Tableau 擷取、Microsoft Excel、Salesforce、Vertica、Pivotal Greenplum、Teradata（版本 14.1 及更高版本）、Snowflake 和 Oracle 資料來源。</p><p>對於 Tableau 擷取，模式必須為常量。</p></td></tr></tbody></table>

### REGEXP\_EXTRACT\_NTH

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>語法</td><td><code>REGEXP_EXTRACT_NTH(string, pattern, index)</code></td></tr><tr><td>輸出</td><td>字串</td></tr><tr><td>定義</td><td>返回與規則運算式模式匹配的字串部分。子字串匹配到第 n 個捕獲群組，其中 n 是給定的索引。如果索引為 0，則返回整個字串。</td></tr><tr><td>範例</td><td><pre>REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\s+(\d+)', 2) = '123'</pre></td></tr><tr><td>說明</td><td><p>此函數可用於文字檔、PostgreSQL、Tableau 擷取、Microsoft Excel、Salesforce、Vertica、Pivotal Greenplum、Teradata（版本 14.1 及更高版本）和 Oracle 資料來源。</p><p>對於 Tableau 擷取，模式必須為常量。</p></td></tr></tbody></table>

## Hadoop Hive 的特定函數

**附註：**只有 PARSE\_URL 和 PARSE\_URL\_QUERY 函數可用於 Cloudera Impala 資料來源。

### GET\_JSON\_OBJECT(JSON 字串, JSON 路徑)

根據 JSON 路徑返回 JSON 字串中的 JSON 物件。

### PARSE\_URL(字串, url\_part)

返回給定 URL 字串的組成部分（由 url\_part 定義）。有效的 url\_part 值包括：'HOST'、'PATH'、'QUERY'、'REF'、'PROTOCOL'、'AUTHORITY'、'FILE' 和 'USERINFO'。

範例

`PARSE_URL('http://www.tableau.com', 'HOST') = 'www.tableau.com'`

### PARSE\_URL\_QUERY(字串, 金鑰)

返回給定 URL 字串中的指定查詢參數的值。查詢參數由金鑰定義。

範例

`PARSE_URL_QUERY('http://www.tableau.com?page=1&cat=4', 'page') = '1'`

### XPATH\_BOOLEAN(XML 字串, XPath 運算式字串)

如果 XPath 運算式匹配節點或計算為 true，則返回 true。

範例

`XPATH_BOOLEAN('<values> <value id="0">1</value><value id="1">5</value>', 'values/value[@id="1"] = 5') = true`

### XPATH\_DOUBLE(XML 字串, XPath 運算式字串)

返回 XPath 運算式的浮點值。

範例

`XPATH_DOUBLE('<values><value>1.0</value><value>5.5</value> </values>', 'sum(value/*)') = 6.5`

### XPATH\_FLOAT(XML 字串, XPath 運算式字串)

返回 XPath 運算式的浮點值。

範例

`XPATH_FLOAT('<values><value>1.0</value><value>5.5</value> </values>','sum(value/*)') = 6.5`

### XPATH\_INT(XML 字串, XPath 運算式字串)

返回 Xpath 運算式的數值；或者，如果 Xpath 運算式無法計算為數字，則返回零。

範例

`XPATH_INT('<values><value>1</value><value>5</value> </values>','sum(value/*)') = 6`

### XPATH\_LONG(XML 字串, XPath 運算式字串)

返回 Xpath 運算式的數值；或者，如果 Xpath 運算式無法計算為數字，則返回零。

範例

`XPATH_LONG('<values><value>1</value><value>5</value> </values>','sum(value/*)') = 6`

### XPATH\_SHORT(XML 字串, XPath 運算式字串)

返回 Xpath 運算式的數值；或者，如果 Xpath 運算式無法計算為數字，則返回零。

範例

`XPATH_SHORT('<values><value>1</value><value>5</value> </values>','sum(value/*)') = 6`

### XPATH\_STRING(XML 字串, XPath 運算式字串)

返回第一個匹配節點的文字。

範例

`XPATH_STRING('<sites ><url domain="org">http://www.w3.org</url> <url domain="com">http://www.tableau.com</url></sites>', 'sites/url[@domain="com"]') = 'http://www.tableau.com'`

## Google BigQuery 的特定函數

### DOMAIN(string\_url)

在給定 URL 字串的情況下返回作為字串的網域。

範例

`DOMAIN('http://www.google.com:80/index.html') = 'google.com'`

### GROUP\_CONCAT(運算式)

將來自每個記錄的值連線為一個由逗號分隔的字串。此函數在處理字串時的作用類似於 SUM()。

範例

`GROUP_CONCAT(Region) = "Central,East,West"`

### HOST(string\_url)

在給定 URL 字串的情況下返回作為字串的主機名稱。

範例

`HOST('http://www.google.com:80/index.html') = 'www.google.com:80'`

### LOG2(數字)

返回數字的對數底 2。

範例

`LOG2(16) = '4.00'`

### LTRIM\_THIS(字串, 字串)

返回第一個字串（移除了在前導位置出現的任何第二個字串）。

範例

`LTRIM_THIS('[-Sales-]','[-') = 'Sales-]'`

### RTRIM\_THIS(字串, 字串)

返回第一個字串（移除了在尾隨位置出現的任何第二個字串）。

範例

`RTRIM_THIS('[-Market-]','-]') = '[-Market'`

### TIMESTAMP\_TO\_USEC(運算式)

將 TIMESTAMP 資料類型轉換為 UNIX 時間戳記（以微秒為單位）。

範例

`TIMESTAMP_TO_USEC(#2012-10-01 01:02:03#)=1349053323000000`

### USEC\_TO\_TIMESTAMP(運算式)

將 UNIX 時間戳記（以微秒為單位）轉換為 TIMESTAMP 資料類型。

範例

`USEC_TO_TIMESTAMP(1349053323000000) = #2012-10-01 01:02:03#`

### TLD(string\_url)

在給定 URL 字串的情況下返回頂層網域以及 URL 中的任何國家/地區網域。

範例

`TLD('http://www.google.com:80/index.html') = '.com'`

`TLD('http://www.google.co.uk:80/index.html') = '.co.uk'`