ประเภทการแจงนับ (Enumeration Type) สำหรับกำหนดประเภทการควบคุมการเข้าถึงข้อมูล ใช้ในการพัฒนาตัวเชื่อมต่อ Power Query แบบกำหนดเอง
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| [Allow]ไม่บังคับ | Enumeration Value | ค่าที่ใช้เพื่อระบุการอนุญาต – ยินยอมให้เข้าถึงข้อมูล |
| [Deny]ไม่บังคับ | Enumeration Value | ค่าที่ใช้เพื่อระบุการปฏิเสธ – ไม่อนุญาติให้เข้าถึงข้อมูล |
[ ] = อาร์กิวเมนต์ที่ไม่บังคับ
AccessControlKind เป็นประเภทการแจงนับในการนิยามประเภทของการควบคุมการเข้าถึง (Access Control Kind) ซึ่งใช้สำหรับการกำหนดสิทธิ์การเข้าถึงในตัวเชื่อมต่อข้อมูลแบบกำหนดเอง ประกอบด้วยค่าต่างๆ เช่น Allow และ Deny ที่ช่วยให้ผมสามารถกำหนดว่าใครสามารถเข้าถึงข้อมูลได้บ้าง
ที่เจ๋งคือ ในการสร้างตัวเชื่อมต่อที่ปลอดภัย AccessControlKind ทำให้ผมสามารถระบุสิทธิ์ได้อย่างชัดเจนและเป็นระเบียบ ไม่ต้องสร้างสัญลักษณ์หรือค่าใดๆ ด้วยตนเองเลย
ส่วนตัวผม ใช้ AccessControlKind เมื่อต้องการสร้างตัวเชื่อมต่อสำหรับ API ที่มีความเป็นส่วนตัวสูง โดยต้องกำหนดว่าอะไรคือ Allow และอะไรคือ Deny เพื่อให้ผู้ใช้เข้าใจข้อกำหนดการเข้าถึง 😎
เมื่อตั้งค่า AccessControlKind ให้เป็น Allow แล้วเปรียบเทียบ จะได้ผลลัพธ์ "ยินยอม" ตามนั้น
สร้างตารางที่เก็บรายชื่อผู้ใช้และระดับการเข้าถึง โดยกำหนดให้ทุกคนได้รับอนุญาต
ถ้า UserRole เป็น Admin ให้เข้าถึงได้ (Allow) ถ้าไม่ใช่ให้ปฏิเสธ (Deny)
นับจำนวนครั้งที่ได้รับอนุญาตและปฏิเสธจากรายการค่า AccessControlKind ที่กำหนด
ผมจะอธิบายให้ง่าย Allow คือ "ยินยอม" ให้เข้าถึงข้อมูลได้ ส่วน Deny คือ "ปฏิเสธ" ไม่ให้เข้าถึง จากประสบการณ์ผม ต้องเลือกให้ถูกตามสถานการณ์จึงจะปลอดภัย
ผมแนะนำให้ใช้ if…then…else หรือเปรียบเทียบกับ AccessControlKind.Allow โดยตรง เช่น `if MyControl = AccessControlKind.Allow then…` ส่วนตัวผม มักใช้วิธีนี้เวลาต้องกำหนดเงื่อนไข
ไม่มีครับ มีแค่ 2 ค่า Allow และ Deny เท่านั้น ซึ่งตามประสบการณ์ผม เพียงพอสำหรับการควบคุมการเข้าถึงในกรณีส่วนใหญ่
ฟังก์ชันที่ผู้เขียนโยงไว้กับ AccessControlKind จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
List.Select จะรับ List และฟังก์ชันเงื่อนไข (selection as function) โดยจะประเมินฟังก์ชันเงื่อนไขกับสมาชิกแต่ละตัว หากฟังก์ชันคืนค่า true จะเก็บสมาชิกนั้นไว้ใน List ใหม่ หากคืนค่า false จะถูกคัดทิ้งไป
แปลง List ของ Record เป็นตาราง โดยแต่ละ Record กลายเป็นหนึ่งแถว เหมาะสำหรับข้อมูลจาก API หรือ JSON
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่