ฟังก์ชันเพิ่มเติม (Regex, Hadoop Hive, Google Big Query)ดูเพิ่มเติม:
นิพจน์ปกติ
หากต้องการข้อมูลเกี่ยวกับไวยากรณ์นิพจน์ทั่วไป โปรดดูเอกสารประกอบของแหล่งข้อมูล สำหรับการแยกข้อมูลใน Tableau ไวยากรณ์นิพจน์ทั่วไปจะเป็นไปตามมาตรฐาน ICU (International Components for Unicode) ซึ่งเป็นโปรเจกต์โอเพนซอร์สของ C/C++ ที่สมบูรณ์และคลัง Java สำหรับการสนับสนุน Unicode การปรับซอฟต์แวร์ให้เป็นสากล และการปรับซอฟต์แวร์แบบโลกาภิวัตน์ ดูที่หน้านิพจน์ปกติ(ลิงก์จะเปิดในหน้าต่างใหม่)ในคู่มือผู้ใช้ ICU ออนไลน์
REGEXP_REPLACE
| ไวยากรณ์ | REGEXP_REPLACE(string, pattern, replacement) |
| เอาต์พุต | สตริง |
| คำนิยาม | แสดงสำเนาของสตริงที่กำหนด ซึ่งแทนที่รูปแบบนิพจน์ปกติด้วยสตริงการแทนที่ |
| ตัวอย่าง | REGEXP_REPLACE('abc 123', '\s', '-') = 'abc-123' |
| หมายเหตุ | ฟังก์ชันนี้มีให้ใช้งานสำหรับไฟล์ข้อความ, Hadoop Hive, Google BigQuery, PostgreSQL, การแยกข้อมูลใน Tableau, Microsoft Excel, Salesforce, Vertica, Pivotal Greenplum, Teradata (เวอร์ชัน 14.1 และใหม่กว่า), Snowflake และแหล่งข้อมูล Oracle สำหรับการแยกข้อมูลใน Tableau รูปแบบและการแทนที่ต้องเป็นค่าคงที่ |
REGEXP_MATCH
| ไวยากรณ์ | REGEXP_MATCH(string, pattern) |
| เอาต์พุต | บูลีน |
| คำนิยาม | แสดงค่า True หากสตริงย่อยของสตริงที่ระบุตรงกับรูปแบบนิพจน์ปกติ |
| ตัวอย่าง | REGEXP_MATCH('-([1234].[The.Market])-','\[\s*(\w*\.)(\w*\s*\])')=true |
| หมายเหตุ | ฟังก์ชันนี้มีให้ใช้งานสำหรับไฟล์ข้อความ, Google BigQuery, PostgreSQL, การแยกข้อมูลใน Tableau, Microsoft Excel, Salesforce, Vertica, Pivotal Greenplum, Teradata (เวอร์ชัน 14.1 และใหม่กว่า), Impala 2.3.0 (ผ่านทางแหล่งข้อมูล Cloudera Hadoop), Snowflake และแหล่งข้อมูล Oracle สำหรับการแยกข้อมูลใน Tableau รูปแบบต้องเป็นค่าคงที่ |
REGEXP_EXTRACT
| ไวยากรณ์ | REGEXP_EXTRACT(string, pattern) |
| เอาต์พุต | สตริง |
| คำนิยาม | แสดงส่วนของสตริงที่ตรงกับรูปแบบนิพจน์ปกติ |
| ตัวอย่าง | REGEXP_EXTRACT('abc 123', '[a-z]+\s+(\d+)') = '123' |
| หมายเหตุ | ฟังก์ชันนี้มีให้ใช้งานสำหรับไฟล์ข้อความ, Hadoop Hive, Google BigQuery, PostgreSQL, การแยกข้อมูลใน Tableau, Microsoft Excel, Salesforce, Vertica, Pivotal Greenplum, Teradata (เวอร์ชัน 14.1 และใหม่กว่า), Snowflake และแหล่งข้อมูล Oracle สำหรับการแยกข้อมูลใน Tableau รูปแบบต้องเป็นค่าคงที่ |
REGEXP_EXTRACT_NTH
| ไวยากรณ์ | REGEXP_EXTRACT_NTH(string, pattern, index) |
| เอาต์พุต | สตริง |
| คำนิยาม | แสดงส่วนของสตริงที่ตรงกับรูปแบบนิพจน์ปกติ สตริงย่อยตรงกับ Capturing Group nth โดยที่ n คือดัชนีที่กำหนด หากดัชนีเป็น 0 ระบบจะแสดงสตริงทั้งหมด |
| ตัวอย่าง | REGEXP_EXTRACT_NTH('abc 123', '([a-z]+)\s+(\d+)', 2) = '123' |
| หมายเหตุ | ฟังก์ชันนี้มีให้ใช้งานสำหรับไฟล์ข้อความ, PostgreSQL, การแยกข้อมูลใน Tableau, Microsoft Excel, Salesforce, Vertica, Pivotal Greenplum, Teradata (เวอร์ชัน 14.1 และใหม่กว่า) และแหล่งข้อมูล Oracle สำหรับการแยกข้อมูลใน Tableau รูปแบบต้องเป็นค่าคงที่ |
ฟังก์ชันเฉพาะของ 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)
แสดงค่า True หากนิพจน์ XPath ตรงกับโหนดหรือประเมินว่าเป็น 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'
