ฟังก์ชันผู้ใช้
บทความนี้จะอธิบายฟังก์ชันผู้ใช้และการใช้งานใน Tableau และจะสาธิตวิธีสร้างการคำนวณผู้ใช้โดยใช้ตัวอย่าง
ทำไมจึงควรใช้ฟังก์ชันผู้ใช้
ฟังก์ชันผู้ใช้สามารถใช้เพื่อสร้างตัวกรองผู้ใช้หรือตัวกรองการรักษาความปลอดภัยระดับแถวที่ส่งผลต่อการแสดงภาพที่เผยแพร่ไปยัง Tableau Server หรือ Tableau Cloud เพื่อให้เฉพาะบางคนเท่านั้นที่สามารถมองเห็นการแสดงภาพของคุณได้
ตัวอย่างเช่น หากคุณมีการแสดงภาพที่แสดงถึงประสิทธิภาพการขายของพนักงานแต่ละคนในแผนกของคุณที่เผยแพร่บน Tableau Server หรือ Tableau Cloud คุณอาจต้องอนุญาตให้พนักงานดูตัวเลขการขายของตนเองเท่านั้น เมื่อเข้าถึงการแสดงภาพดังกล่าว
ในกรณีนี้ คุณสามารถใช้ฟังก์ชัน ISMEMBEROF เพื่อสร้าฟิลด์ที่คืนค่าเป็นจริง หากชื่อผู้ใช้ของบุคคลที่เข้าสู่ระบบเซิร์ฟเวอร์เป็นสมาชิกของกลุ่มที่ระบุ (บนเซิร์ฟเวอร์) เช่น กลุ่ม "Managers" เป็นต้น จากนั้น เมื่อคุณกรองมุมมองโดยใช้ฟิลด์ที่คำนวณนี้ เฉพาะบุคคลที่เป็นส่วนหนึ่งของกลุ่มดังกล่าวเท่านั้นที่สามารถดูข้อมูลได้
การคำนวณในกรณีนี้อาจมีลักษณะดังนี้:
ISMEMBEROF('Managers')
หมายเหตุ: หากชื่อกลุ่มหรือชื่อผู้ใช้ของคุณมีอักขระที่ไม่ใช่ตัวอักษรและตัวเลข คุณต้องใช้การเข้ารหัส HTML URL สำหรับอักขระพิเศษเมื่อใช้ฟังก์ชันด้านล่าง
อนุญาตให้ใช้อักขระพิเศษบางตัวโดยไม่มีการเข้ารหัส HTML URL เช่น ขีดล่าง วงเล็บ และเครื่องหมายอัศเจรีย์ _ ( ) !
ส่วนอักขระอื่นๆ อีกมากมายนั้นต้องเข้ารหัส
ตัวอย่างเช่น ฟังก์ชัน ISMEMBEROF("USERS+")
จำเป็นต้องเขียนเป็น ISMEMBEROF("USERS%2B")
เนื่องจาก '%2B' คือการเข้ารหัส HTML URL สำหรับสัญลักษณ์ '+' หากต้องการข้อมูลเกี่ยวกับการเข้ารหัส HTML URL โปรดดู การอ้างอิงการเข้ารหัส HTML URL(ลิงก์จะเปิดในหน้าต่างใหม่) ที่ไซต์ W3schools Web Developer
สำหรับการฝังเวิร์กโฟลว์ลงใน Tableau Cloud เท่านั้น
ในบรรดาฟังก์ชันสำหรับผู้ใช้ สามารถใช้ชุดย่อยของฟังก์ชันแอตทริบิวต์ของผู้ใช้ได้ด้วยแอปที่เชื่อมต่อของ Tableau(ลิงก์จะเปิดในหน้าต่างใหม่) ฟังก์ชันแอตทริบิวต์ของผู้ใช้ (USERATTRIBUTE และ USERATTRIBUTEINCLUDES) จะให้ Tableau จัดเก็บแอตทริบิวต์ของผู้ใช้ขณะรันไทม์ซึ่งเป็นส่วนหนึ่งของเวิร์กโฟลว์การตรวจสอบสิทธิ์ได้ เมื่อแอตทริบิวต์ผู้ใช้ส่งมาจาก JSON Web Token (JWTs) เนื้อหาแบบฝังที่เขียนด้วยฟังก์ชันเหล่านี้สามารถควบคุมและปรับแต่งข้อมูลที่แสดงต่อผู้ใช้ได้
หมายเหตุ:
ตรวจสอบความช่วยเหลือสำหรับการฝัง API v3(ลิงก์จะเปิดในหน้าต่างใหม่) สำหรับปัญหาที่ทราบ ซึ่งอาจส่งผลต่อเวิร์กโฟลว์ของคุณ
ฟังก์ชันแอตทริบิวต์ของผู้ใช้สามารถรวมอยู่ในเนื้อหาที่เขียนใน Tableau Desktop หรือ Tableau Cloud
ดูตัวอย่างเนื้อหาด้วยฟังก์ชันเหล่านี้ไม่ได้เมื่อเขียนใน Tableau Desktop หรือ Tableau Cloud ฟังก์ชันแอตทริบิวต์ผู้ใช้จะแสดงผลค่า NULL หรือ FALSE เพื่อให้แน่ใจว่าฟังก์ชันแอตทริบิวต์ผู้ใช้ทำงานตามที่คาดไว้ เราขอแนะนำให้คุณตรวจสอบเนื้อหาหลังจากฝังในแอปพลิเคชันภายนอกแล้ว หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการฝังเวิร์กโฟลว์ที่มีฟังก์ชันผู้ใช้เหล่านี้ โปรดดูหน้าความช่วยเหลือสำหรับการฝัง API v3(ลิงก์จะเปิดในหน้าต่างใหม่)
ไม่สามารถใช้ฟังก์ชันแอตทริบิวต์ของผู้ใช้ในเวิร์กโฟลว์แบบไม่ฝังหรือกับโปรโตคอล OIDC หรือ SAML
ฟังก์ชันผู้ใช้ที่มีอยู่ใน Tableau
FULLNAME( )
ไวยากรณ์ | FULLNAME( ) |
เอาต์พุต | สตริง |
คำนิยาม | แสดงชื่อเต็มสำหรับผู้ใช้ปัจจุบัน |
ตัวอย่าง | FULLNAME( ) สิ่งนี้จะแสดงชื่อเต็มของผู้ใช้ที่เข้าสู่ระบบ เช่น “Hamlin Myrer” [Manager] = FULLNAME( ) หากผู้จัดการ “Hamlin Myrer” เข้าสู่ระบบ ตัวอย่างนี้จะแสดงค่า True ต่อเมื่อฟิลด์ “ผู้จัดการ” ในมุมมองมีชื่อ “Hamlin Myrer” เท่านั้น |
หมายเหตุ | ฟังก์ชันนี้จะตรวจสอบรายการต่อไปนี้
ตัวกรองผู้ใช้ เมื่อใช้เป็นตัวกรอง ฟิลด์ที่คำนวณเช่น |
ISFULLNAME
ไวยากรณ์ | ISFULLNAME("User Full Name") |
เอาต์พุต | บูลีน |
คำนิยาม | แสดงค่า |
ตัวอย่าง | ISFULLNAME("Hamlin Myrer") |
หมายเหตุ | อาร์กิวเมนต์ ฟังก์ชันนี้จะตรวจสอบรายการต่อไปนี้
|
ISMEMBEROF
ไวยากรณ์ | ISMEMBEROF("Group Name") |
เอาต์พุต | บูลีนหรือค่า null |
คำนิยาม | แสดงค่า |
ตัวอย่าง | ISMEMBEROF('Superstars') ISMEMBEROF('domain.lan\Sales') |
หมายเหตุ | อาร์กิวเมนต์ หากผู้ใช้เข้าสู่ระบบ Tableau Cloud หรือ Tableau Server ความเป็นสมาชิกกลุ่มจะถูกกำหนดโดยกลุ่ม Tableau ฟังก์ชันจะแสดงค่า TRUE หากสตริงที่กำหนดคือ “ผู้ใช้ทั้งหมด” ฟังก์ชัน หากมีการเปลี่ยนแปลงการเป็นสมาชิกกลุ่มของผู้ใช้ การเปลี่ยนแปลงข้อมูลที่อิงตามการเป็นสมาชิกกลุ่มจะสะท้อนให้เห็นในเวิร์กบุ๊กหรือมุมมองในเซสชันใหม่ เซสชันที่มีอยู่จะแสดงข้อมูลเก่า |
ISUSERNAME
ไวยากรณ์ | ISUSERNAME("username") |
เอาต์พุต | บูลีน |
คำนิยาม | แสดงค่า TRUE หากชื่อผู้ใช้ปัจจุบันตรงกับชื่อผู้ใช้ที่ระบุหรือ FALSE หากไม่ตรงกัน |
ตัวอย่าง | ISUSERNAME("hmyrer") |
หมายเหตุ | อาร์กิวเมนต์ ฟังก์ชันนี้จะตรวจสอบรายการต่อไปนี้
|
USERDOMAIN( )
ไวยากรณ์ | USERDOMAIN( ) |
เอาต์พุต | สตริง |
คำนิยาม | แสดงโดเมนสำหรับผู้ใช้ปัจจุบัน |
หมายเหตุ | ฟังก์ชันนี้จะตรวจสอบรายการต่อไปนี้
|
USERNAME( )
ไวยากรณ์ | USERNAME( ) |
เอาต์พุต | สตริง |
คำนิยาม | แสดงชื่อผู้ใช้สำหรับผู้ใช้ปัจจุบัน |
ตัวอย่าง | USERNAME( ) สิ่งนี้จะแสดงชื่อผู้ใช้ของผู้ใช้ที่เข้าสู่ระบบ เช่น “hmyrer” [Manager] = USERNAME( ) หากผู้จัดการ “hmyrer” เข้าสู่ระบบ ตัวอย่างนี้จะแสดงค่า True ต่อเมื่อฟิลด์ “ผู้จัดการ” ในมุมมองมีชื่อ “hmyrer” เท่านั้น |
หมายเหตุ | ฟังก์ชันนี้จะตรวจสอบรายการต่อไปนี้
ตัวกรองผู้ใช้ เมื่อใช้เป็นตัวกรอง ฟิลด์ที่คำนวณเช่น |
USERATTRIBUTE
หมายเหตุ: ก่อนที่คุณจะใช้ฟังก์ชันนี้ โปรดดูสำหรับการฝังเวิร์กโฟลว์ลงใน Tableau Cloud เท่านั้น หากต้องการข้อมูลเพิ่มเติม โปรดดูการตรวจสอบสิทธิ์และมุมมองแบบฝัง(ลิงก์จะเปิดในหน้าต่างใหม่)ใน Embedding API v3
ไวยากรณ์ | USERATTRIBUTE('attribute_name') |
เอาต์พุต | สตริงหรือค่า null |
คำนิยาม | หาก แสดงค่า null หาก |
ตัวอย่าง | สมมติว่า “Region” เป็นแอตทริบิวต์ผู้ใช้ที่รวมอยู่ใน JWT และส่งไปยัง Tableau (โดยใช้แอปที่เชื่อมต่อซึ่งกำหนดค่าโดยผู้ดูแลไซต์ของคุณแล้ว) ในฐานะผู้เขียนเวิร์กบุ๊ก คุณสามารถตั้งค่าการแสดงเป็นภาพเพื่อกรองข้อมูลตามภูมิภาคที่ระบุได้ ในตัวกรองนั้น คุณสามารถอ้างอิงการคำนวณต่อไปนี้ [Region] = USERATTRIBUTE("Region") เมื่อ User2 จากภูมิภาคตะวันตกดูการแสดงเป็นภาพแบบฝัง Tableau จะแสดงข้อมูลที่เหมาะสมสำหรับภูมิภาคตะวันตกเท่านั้น |
หมายเหตุ | คุณสามารถใช้ฟังก์ชัน USERATTRIBUTEINCLUDES หากคาดหวัง <'attribute_name'> เพื่อแสดงผลค่าหลายค่า |
USERATRIBUTEINCLUDES
หมายเหตุ: ก่อนที่คุณจะใช้ฟังก์ชันนี้ โปรดดูสำหรับการฝังเวิร์กโฟลว์ลงใน Tableau Cloud เท่านั้น หากต้องการข้อมูลเพิ่มเติม โปรดดูการตรวจสอบสิทธิ์และมุมมองแบบฝัง(ลิงก์จะเปิดในหน้าต่างใหม่)ใน Embedding API v3
ไวยากรณ์ | USERATTRIBUTEINCLUDES('attribute_name', 'expected_value') |
เอาต์พุต | บูลีน |
คำนิยาม | แสดงค่า
แสดง |
ตัวอย่าง | สมมติว่า “Region” เป็นแอตทริบิวต์ผู้ใช้ที่รวมอยู่ใน JWT และส่งไปยัง Tableau (โดยใช้แอปที่เชื่อมต่อซึ่งกำหนดค่าโดยผู้ดูแลไซต์ของคุณแล้ว) ในฐานะผู้เขียนเวิร์กบุ๊ก คุณสามารถตั้งค่าการแสดงเป็นภาพเพื่อกรองข้อมูลตามภูมิภาคที่ระบุได้ ในตัวกรองนั้น คุณสามารถอ้างอิงการคำนวณต่อไปนี้ USERATTRIBUTEINCLUDES('Region', [Region]) หาก User2 จากภูมิภาคตะวันตกเข้าถึงการแสดงเป็นภาพแบบฝัง Tableau จะตรวจสอบว่าแอตทริบิวต์ผู้ใช้ Region ตรงกับค่าฟิลด์ [Region] ค่าใดค่าหนึ่ง เมื่อเป็นจริง การแสดงเป็นภาพจะแสดงข้อมูลที่เหมาะสม เมื่อ User3 จากภูมิภาคทางเหนือเข้าถึงการแสดงเป็นภาพเดียวกัน จะไม่สามารถเห็นข้อมูลใดๆ ได้เนื่องจากไม่มีค่าที่ตรงกับค่าในฟิลด์ [Region] |
สร้างการคำนวณผู้ใช้
การคำนวณผู้ใช้จะทำงานร่วมกับผู้ใช้และกลุ่มที่คุณตั้งค่าไว้บน Tableau Server หรือ Tableau Cloud โดยตรง คุณสามารถสร้างการคำนวณผู้ใช้เพื่อใช้เป็นตัวกรอง ซึ่งผู้ใช้จะเห็นเฉพาะข้อมูลที่เกี่ยวข้องกับตนเองเท่านั้น
ตัวอย่างเช่น หากคุณมีแผนที่ที่คล้ายคลึงกับแผนที่ต่อไปนี้ ซึ่งแสดงข้อมูลการขายสำหรับ 48 รัฐในสหรัฐอเมริกา คุณสามารถสร้างการคำนวณผู้ใช้เพื่อแสดงเฉพาะบางส่วนของแผนที่ที่เกี่ยวข้องกับผู้ใช้แต่ละราย เช่น ข้อมูลที่เกี่ยวข้องกับผู้จัดการระดับภูมิภาคเทียบกับผู้จัดการระดับประเทศ (ผู้จัดการระดับประเทศควรดูข้อมูลสำหรับทั้งประเทศได้ ในขณะที่ผู้จัดการระดับภูมิภาคควรดูได้เฉพาะข้อมูลสำหรับภูมิภาคที่พวกเขาจัดการเท่านั้น)
เมื่อผู้จัดการระดับประเทศเข้าสู่ระบบ ก็จะเห็นการแสดงภาพดังต่อไปนี้:
เมื่อผู้จัดการภูมิภาคตะวันตกเข้าสู่ระบบ ก็จะเห็นเฉพาะยอดขายในภูมิภาคของตนเท่านั้น:
หากต้องการสร้างฟังก์ชันผู้ใช้ที่ทำงานคล้ายกับตัวอย่างนี้ ให้ดำเนินการตามขั้นตอนด้านล่าง
ก่อนที่คุณจะเริ่มต้น
หากต้องการดำเนินการตามตัวอย่างนี้ คุณต้องมีสิทธิ์เข้าถึง Tableau Server หรือ Tableau Cloud คุณต้องเป็นผู้ดูแลเซิร์ฟเวอร์หรือไซต์
ขั้นตอนที่ 1: สร้างผู้ใช้และกลุ่ม
เข้าสู่ระบบ Tableau Server หรือ Tableau Cloud
ใน Tableau Server หรือ Tableau Cloud ให้เพิ่มผู้ใช้ดังนี้:
Sadie Pawthorne
Chuck Magee
Fred Suzuki
Roxanne Rodriguez
ดูข้อมูลเพิ่มเติมได้ที่เพิ่มผู้ใช้ไปยังไซต์(ลิงก์จะเปิดในหน้าต่างใหม่)ในความช่วยเหลือ Tableau Server
สร้างกลุ่มใหม่ที่ชื่อว่า National Managers
หากต้องการข้อมูลเพิ่มเติม โปรดดู สร้างกลุ่มในเครื่อง(ลิงก์จะเปิดในหน้าต่างใหม่) ในความช่วยเหลือ Tableau Server
เพิ่มตัวคุณเองไปยังกลุ่ม National Managers
หากต้องการข้อมูลเพิ่มเติม โปรดดู เพิ่มผู้ใช้ไปยังกลุ่ม(ลิงก์จะเปิดในหน้าต่างใหม่) ในความช่วยเหลือ Tableau Server
ขั้นตอนที่ 2: สร้างการแสดงผล
เปิด Tableau Desktop และเชื่อมต่อแหล่งข้อมูลตัวอย่าง - Superstore ที่มาพร้อมกับ Tableau
คลิกแท็บแหล่งข้อมูลที่มุมล่างซ้ายของพื้นที่ทำงาน
บนหน้าแหล่งข้อมูล จากแผงการเชื่อมต่อทางด้านซ้าย ให้ลากชีต People ไปยังพื้นที่การรวม
คลิกไอคอนรวมแล้วเลือกซ้าย
ไปที่เวิร์กชีตใหม่
ในแผงข้อมูลในส่วนมิติข้อมูล ให้ดับเบิลคลิกที่รัฐ
ระบบจะสร้างมุมมองแผนที่ขึ้น
ในแผงข้อมูลในส่วนการวัดผล ให้ลากยอดขายไปที่งสีบนการ์ดเครื่องหมาย
บนแถบคอลัมน์ ให้เลือกฟิลด์ลองจิจูดแล้วกด Control (Comman บน Mac) บนแป้นพิมพ์ค้างไว้เพื่อคัดลอก ลากสำเนาไปทางขวาของต้นฉบับบนแถบคอลัมน์
บนการ์ด “เครื่องหมาย” ให้คลิกแท็บลองจิจูดที่สอง (ด้านล่าง)
จากแผงข้อมูล ให้ลากภูมิภาคไปยังสีบนการ์ด “เครื่องหมาย”
มุมมองแผนที่ทางด้านขวาจะอัปเดตเป็นสีใหม่
บนการ์ด “เครื่องหมาย” ให้คลิกดรอปดาวน์ประเภทของเครื่องหมาย แล้วเลือกแผนที่
บนการ์ดเครื่องหมาย ให้คลิกสี และภายใต้ส่วนความทึบให้ปรับแถบเลื่อนเป็น 50%
บนการ์ด “เครื่องหมาย” ให้คลิกแท็บลองจิจูด แรก
บนการ์ด “เครื่องหมาย” ให้คลิกสี > แก้ไขสี แล้วเลือกสีเทาจากดรอปดาวน์จานสี
มุมมองแผนที่ทางซ้ายจะอัปเดต
ในแถบคอลัมน์ ให้คลิกขวาที่ฟิลด์ลองจิจูดที่ด้านขวาแล้วเลือกแกนคู่
แผนที่มีลักษณะดังนี้:
ขั้นตอนที่ 3: สร้างการคำนวณผู้ใช้
เลือกการวิเคราะห์ > สร้างฟิลด์ที่คำนวณ
ในตัวแก้ไขการคำนวณที่เปิดขึ้น ให้ทำดังนี้
ตั้งชื่อฟิลด์ที่คำนวณว่า User Filter (ตัวกรองผู้ใช้)
ป้อนสูตรต่อไปนี้:
[Regional Manager] = USERNAME() OR ISMEMBEROF("National Managers")
การคำนวณนี้จะตรวจสอบว่าบุคคลนั้นรวมอยู่ในฟิลด์ “ภูมิภาค (ผู้คน)” หรือไม่ หรือบุคคลนั้นรวมอยู่ในกลุ่ม National Managers หรือไม่ หากเป็นเช่นนั้น ระบบจะคืนค่าเป็นจริง
เมื่อเสร็จแล้ว ให้คลิกตกลง
การคำนวณผู้ใช้จะปรากฏในส่วน “มิติข้อมูล” ในแผงข้อมูล คุณสามารถใช้ฟิลด์นี้ในการแสดงเป็นภาพได้มากกว่าหนึ่งรายการ เช่นเดียวกับฟิลด์อื่นๆ
ขั้นตอนที่ 4: เพิ่มการคำนวณผู้ใช้ไปยังแถบตัวกรอง
ที่แผงข้อมูลในส่วน “มิติข้อมูล” ให้ลากการคำนวณผู้ใช้ไปยังแถบตัวกรอง
ในกล่องโต้ตอบตัวกรองที่เปิดขึ้น ให้เลือกจริง จากนั้นคลิกตกลง
หมายเหตุ: หากคุณไม่ได้เข้าสู่ระบบ Tableau Server หรือ Tableau Cloud ตัวเลือก “จริง” จะไม่ปรากฏให้เห็น ใน Tableau Desktop ให้เข้าสู่ระบบ Tableau Server หรือ Tableau Cloud เพื่อเลือก โปรดดู เข้าสู่ระบบ Tableau Server หรือ Tableau Cloud(ลิงก์จะเปิดในหน้าต่างใหม่) หากต้องการข้อมูลเพิ่มเติม
ขั้นตอนที่ 5: ทดสอบการคำนวณ
ใน Tableau Desktop ที่มุมล่างขวาของพื้นที่ทำงาน ให้คลิกเมนูดรอปดาวน์ “กรองเป็นผู้ใช้” แล้วเปลี่ยนผู้ใช้เป็น Sadie Pawthorne
แผนที่จะอัปเดตเพื่อแสดงเฉพาะภูมิภาคตะวันตกของสหรัฐอเมริกา เนื่องจาก Sadie ถูกกำหนดไปยังภูมิภาคตะวันตกในชีต People
เลือกเมนูดรอปดาวน์ “กรองเป็นผู้ใช้” อีกครั้ง แล้วเปลี่ยนผู้ใช้เป็น Roxanne Rodriguez
แผนที่จะอัปเดตเพื่อแสดงเฉพาะภูมิภาคตอนกลางของสหรัฐอเมริกา เนื่องจาก Roxanne ถูกกำหนดไปยังภูมิภาคตอนกลางในชีต People
เลือกเมนูดรอปดาวน์ “กรองเป็นผู้ใช้” อีกครั้ง แล้วเปลี่ยนผู้ใช้เป็น Chuck Magee
แผนที่จะอัปเดตเพื่อแสดงเฉพาะภูมิภาคตะวันออกของสหรัฐอเมริกา เนื่องจาก Chuck ถูกกำหนดไปยังภูมิภาคตะวันออกในชีต People
เลือกเมนูดรอปดาวน์ “กรองเป็นผู้ใช้” อีกครั้ง แล้วเปลี่ยนผู้ใช้เป็น Fred Suzuki
แผนที่จะอัปเดตเพื่อแสดงเฉพาะภูมิภาคตอนใต้ของสหรัฐอเมริกา เนื่องจาก Fred ถูกกำหนดไปยังภูมิตอนใต้ในชีต People
เลือกเมนูดรอปดาวน์ “กรองเป็นผู้ใช้” อีกครั้ง แล้วเปลี่ยนผู้ใช้กลับมาเป็นตัวคุณ
แผนที่จะอัปเดตเพื่อแสดงข้อมูลทั้งหมดเนื่องจากคุณเป็นส่วนหนึ่งของกลุ่ม National Managers บนเซิร์ฟเวอร์
ลักษณะการทำงานนี้จะยังคงอยู่เมื่อคุณเผยแพร่มุมมองไปยัง Tableau Server หรือ Tableau Cloud ผู้ใช้ที่ไม่อยู่ในกลุ่ม National Managers หรือในชีต People ในแหล่งข้อมูล ตัวอย่าง Superstore จะเห็นเพียงการแสดงภาพที่ว่างเปล่า