ฟังก์ชันส่งผ่าน (RAWSQL)
ฟังก์ชันส่งผ่าน RAWSQL ส่งนิพจน์ SQL ไปยังฐานข้อมูลได้โดยตรง โดยไม่ต้องให้ Tableau แปลข้อมูลก่อน หากคุณมีฟังก์ชันฐานข้อมูลที่กำหนดเองซึ่ง Tableau ไม่รู้จัก คุณสามารถใช้ฟังก์ชันส่งผ่านเพื่อเรียกฟังก์ชันที่กำหนดเองได้
เนื่องจาก Tableau จะไม่แปลข้อมูลนิพจน์ คุณจึงต้องเป็นผู้กำหนดการรวมหากจำเป็น คุณสามารถใช้เวอร์ชัน RAWSQLAGG ของฟังก์ชันเมื่อคุณต้องการส่งผ่านนิพจน์แบบรวม
ฟังก์ชันส่งผ่าน RAWSQL อาจไม่ทำงานกับแหล่งข้อมูลแบบรวมศูนย์ (รวมในฐานข้อมูลอื่น) หรือแหล่งข้อมูลที่เผยแพร่
ไวยากรณ์ RAWSQL
ฟังก์ชัน RAWSQL มีสองประเภท คือแบบไม่รวมและแบบรวม ซึ่งระบุไว้ในส่วนแรกของชื่อฟังก์ชัน RAWSQL หรือ RAWSQLAGG ส่วนสุดท้ายของชื่อฟังก์ชันคือประเภทเอาต์พุต เช่น BOOL, STR หรือ INT ในฟังก์ชัน RAWSQL ทั้งหมด อาร์กิวเมนต์จะเป็น "sql_expr", [arg1], ...[arg2] เมื่อเขียนฟังก์ชัน คุณสามารถใช้ไวยากรณ์แทน %n เพื่อแทรกชื่อฟิลด์หรือนิพจน์ที่ถูกต้องได้
ไวยากรณ์แทน %n
ฐานข้อมูลของคุณมักจะไม่เข้าใจชื่อฟิลด์ที่แสดงใน Tableau เนื่องจาก Tableau ไม่แปลข้อมูลนิพจน์ SQL ในฟังก์ชันส่งผ่าน การใช้ชื่อฟิลด์ Tableau ในนิพจน์อาจทำให้เกิดข้อผิดพลาด ใช้ %n เพื่อแทรกชื่อฟิลด์หรือนิพจน์ที่ถูกต้องสำหรับการคำนวณของ Tableau ใน SQL ส่งผ่าน
ตัวอย่างเช่น หากคุณมีฟังก์ชันที่คำนวณค่ามัธยฐานของเซตค่า คุณสามารถเรียกฟังก์ชันนั้นบนคอลัมน์ Tableau [ยอดขาย] ได้ดังนี้:
RAWSQLAGG_REAL("MEDIAN(%1)", [Sales])REALSQLAGGเพราะคุณต้องการระบุการรวมREALเนื่องจากเอาต์พุตเป็นตัวเลขและไม่จำเป็นต้องเป็นจำนวนเต็มMEDIANเป็นการรวม%1เป็นตัวยึดตำแหน่งสำหรับ[Sales]
ฟังก์ชัน RAWSQL
นิพจน์ SQL ถูกส่งโดยตรงไปยังฐานข้อมูลทั้งหมด ใช้ %n ในนิพจน์ SQL เป็นไวยากรณ์แทนสำหรับค่าฐานข้อมูลต่างๆ
ฟังก์ชัน RAWSQL ต่อไปนี้มีให้ใช้งานใน Tableau
RAWSQL_BOOL
| ไวยากรณ์ | RAWSQL_BOOL("sql_expr", [arg1], …[argN]) |
| เอาต์พุต | บูลีน |
| คำนิยาม | ส่งกลับผลลัพธ์บูลีนจากนิพจน์ SQL ที่กำหนด |
| ตัวอย่าง | RAWSQL_BOOL("%1 > %2", [Sales], [Profit])ในตัวอย่าง %1 จะเท่ากับ [ยอดขาย] และ %2 เท่ากับ [กำไร] |
RAWSQLAGG_BOOL
| ไวยากรณ์ | RAWSQLAGG_BOOL("sql_expr", [arg1], …[argN]) |
| เอาต์พุต | บูลีน |
| คำนิยาม | ส่งกลับผลลัพธ์บูลีนจากนิพจน์ SQL แบบรวมที่กำหนด |
| ตัวอย่าง | RAWSQLAGG_BOOL("SUM( %1) >SUM( %2)", [Sales], [Profit]) ในตัวอย่าง %1 จะเท่ากับ [ยอดขาย] และ %2 เท่ากับ [กำไร] |
RAWSQL_DATE
| ไวยากรณ์ | RAWSQL_DATE("sql_expr", [arg1], …[argN]) |
| เอาต์พุต | วันที่ |
| คำนิยาม | ส่งคืนผลลัพธ์วันที่จากนิพจน์ SQL ที่กำหนด |
| ตัวอย่าง | RAWSQL_DATE("%1", [Order Date])ในตัวอย่างนี้ %1 จะเท่ากับ [วันที่สั่ง] |
RAWSQLAGG_DATE
| ไวยากรณ์ | RAWSQLAGG_DATE("sql_expr", [arg1], …[argN]) |
| เอาต์พุต | วันที่ |
| คำนิยาม | ส่งกลับผลลัพธ์วันที่จากนิพจน์ SQL แบบรวมที่กำหนด |
| ตัวอย่าง | RAWSQLAGG_DATE("MAX(%1)", [Order Date])ในตัวอย่างนี้ %1 จะเท่ากับ [วันที่สั่ง] |
RAWSQL_DATETIME
| ไวยากรณ์ | RAWSQL_DATETIME("sql_expr", [arg1], …[argN]) |
| เอาต์พุต | วันเวลา |
| คำนิยาม | ส่งคืนผลลัพธ์วันที่และเวลาจากนิพจน์ SQL ที่กำหนด |
| ตัวอย่าง | RAWSQL_DATETIME("%1", [Order Date])ในตัวอย่างนี้ %1 จะเท่ากับ [วันที่สั่ง] |
RAWSQLAGG_DATETIME
| ไวยากรณ์ | RAWSQLAGG_DATETIME("sql_expr", [arg1], …[argN]) |
| เอาต์พุต | วันเวลา |
| คำนิยาม | ส่งคืนผลลัพธ์วันที่และเวลาจากนิพจน์ SQL แบบรวมที่กำหนด |
| ตัวอย่าง | RAWSQLAGG_DATETIME("MIN(%1)", [Order Date])ในตัวอย่างนี้ %1 จะเท่ากับ [วันที่สั่ง] |
RAWSQL_INT
| ไวยากรณ์ | RAWSQL_INT("sql_expr", [arg1], …[argN]) |
| เอาต์พุต | จำนวนเต็ม |
| คำนิยาม | ส่งกลับผลลัพธ์จำนวนเต็มจากนิพจน์ SQL ที่กำหนด |
| ตัวอย่าง | RAWSQL_INT("500 + %1", [Sales])ในตัวอย่างนี้ %1 จะเท่ากับ [ยอดขาย] |
RAWSQLAGG_INT
| ไวยากรณ์ | RAWSQLAGG_INT("sql_expr", [arg1,] …[argN]) |
| เอาต์พุต | จำนวนเต็ม |
| คำนิยาม | ส่งกลับผลลัพธ์จำนวนเต็มจากนิพจน์ SQL แบบรวมที่กำหนด |
| ตัวอย่าง | RAWSQLAGG_INT("500 + SUM(%1)", [Sales])ในตัวอย่างนี้ %1 จะเท่ากับ [ยอดขาย] |
RAWSQL_REAL
| ไวยากรณ์ | RAWSQL_REAL("sql_expr", [arg1], …[argN]) |
| เอาต์พุต | ตัวเลข |
| คำนิยาม | ส่งคืนผลลัพธ์ที่เป็นตัวเลขจากนิพจน์ SQL ที่กำหนด |
| ตัวอย่าง | RAWSQL_REAL("-123.98 * %1", [Sales])ในตัวอย่างนี้ %1 จะเท่ากับ [ยอดขาย] |
RAWSQLAGG_REAL
| ไวยากรณ์ | RAWSQLAGG_REAL("sql_expr", [arg1,] …[argN]) |
| เอาต์พุต | ตัวเลข |
| คำนิยาม | ส่งคืนผลลัพธ์ที่เป็นตัวเลขจากนิพจน์ SQL แบบรวมที่กำหนด |
| ตัวอย่าง | RAWSQLAGG_REAL("SUM( %1)", [Sales])ในตัวอย่างนี้ %1 จะเท่ากับ [ยอดขาย] |
RAWSQL_SPATIAL
| ไวยากรณ์ | RAWSQL_SPATIAL("sql_expr", [arg1], …[argN]) |
| เอาต์พุต | เชิงพื้นที่ |
| คำนิยาม | ส่งคืนผลลัพธ์เชิงพื้นที่จากนิพจน์ SQL ที่กำหนด |
| ตัวอย่าง | RAWSQL_SPATIAL("%1", [Geometry])ในตัวอย่างนี้ %1 จะเท่ากับ [เรขาคณิต] |
| โน๊ต | ไม่มีเวอร์ชัน RAWSQLAGG ของฟังก์ชันนี้ |
RAWSQL_STR
| ไวยากรณ์ | RAWSQL_STR("sql_expr", [arg1], …[argN]) |
| เอาต์พุต | สตริง |
| คำนิยาม | ส่งกลับสตริงจากนิพจน์ SQL ที่กำหนด |
| ตัวอย่าง | RAWSQL_STR("%1", [Customer Name])ในตัวอย่างนี้ %1 จะเท่ากับ [ชื่อลูกค้า] |
RAWSQLAGG_STR
| ไวยากรณ์ | RAWSQLAGG_STR("sql_expr", [arg1,] …[argN]) |
| เอาต์พุต | สตริง |
| คำนิยาม | ส่งกลับสตริงจากนิพจน์ SQL แบบรวมที่กำหนด |
| ตัวอย่าง | RAWSQLAGG_STR("AVG(%1)", [Discount])ในตัวอย่างนี้ %1 จะเท่ากับ [ส่วนลด] |
