ข้อมูลเกี่ยวกับฟิลเตอร์

ฟิลเตอร์จะควบคุมการเข้าใช้ที่มีการรักษาความปลอดภัยสำหรับค่าข้อมูลในลูกบาศก์ ฟิลเตอร์คือรูปแบบการรักษาความปลอดภัยที่มีความละเอียดที่สุดที่สามารถใช้ได้

เมื่อคุณสร้างฟิลเตอร์ คุณจะกำหนดชุดของข้อจำกัดเกี่ยวกับเซลล์ของลูกบาศก์เฉพาะหรือช่วงของเซลล์ คุณสามารถระบุฟิลเตอร์ให้กับผู้ใช้หรือกลุ่ม

บทบาทการรักษาความปลอดภัยของคุณเองจะกำหนดว่าคุณสามารถสร้าง ระบุ แก้ไข คัดลอก เปลี่ยนชื่อ หรือลบฟิลเตอร์ได้หรือไม่ดังนี้

  • หากคุณมีบทบาทผู้จัดการแอปพลิเคชัน คุณสามารถจัดการฟิลเตอร์สำหรับผู้ใช้หรือกลุ่ม ฟิลเตอร์จะไม่มีผลกับคุณ
  • หากคุณมีบทบาทการอัปเดตฐานข้อมูล คุณสามารถจัดการฟิลเตอร์สำหรับแอปพลิเคชันที่คุณสร้าง
  • หากคุณมีบทบาทผู้จัดการฐานข้อมูล คุณสามารถจัดการฟิลเตอร์ภายในแอปพลิเคชันหรือลูกบาศก์ของคุณ
  • หากคุณมีบทบาทการเข้าใช้ฐานข้อมูล (ดีฟอลต์) คุณมีสิทธิ์การอ่านค่าข้อมูลในเซลล์ทั้งหมด เว้นแต่การเข้าใช้ของคุณจะถูกจำกัดเพิ่มเติมโดยฟิลเตอร์

สร้างฟิลเตอร์

คุณสามารถสร้างฟิลเตอร์หลายรายการสำหรับลูกบาศก์ หากคุณแก้ไขฟิลเตอร์ การแก้ไขที่ทำกับการกำหนดจะได้รับช่วงโดยผู้ใช้ทั้งหมดของฟิลเตอร์นั้น

โปรดดู การควบคุมการเข้าใช้เซลล์ของฐานข้อมูลโดยใช้ฟิลเตอร์การรักษาความปลอดภัย

  1. นาวิเกตไปที่โปรแกรมแก้ไขฟิลเตอร์

    ในอินเตอร์เฟซ Redwood:

    1. ในเพจ แอปพลิเคชัน ให้เปิดแอปพลิเคชันแล้วเปิดฐานข้อมูล (ลูกบาศก์)
    2. คลิก การปรับแต่ง และคลิก ฟิลเตอร์

    ในเว็บอินเตอร์เฟซแบบคลาสสิก:

    1. ในเพจ แอปพลิเคชัน ให้ขยายแอปพลิเคชัน
    2. จากเมนูการดำเนินการทางด้านขวาของชื่อลูกบาศก์ ให้เปิดเครื่องมือตรวจสอบ
    3. เลือกแท็บ ฟิลเตอร์
  2. คลิก เพิ่ม
  3. ป้อนชื่อฟิลเตอร์ในช่องข้อความ ชื่อฟิลเตอร์
  4. ในโปรแกรมแก้ไขฟิลเตอร์ คลิก เพิ่ม
  5. ในส่วน การเข้าใช้ ให้คลิกและใช้เมนูดรอปดาวน์เพื่อเลือกระดับการเข้าใช้
    • ไม่มี: ไม่มีข้อมูลที่สามารถเรียกหรืออัปเดต

    • อ่าน: สามารถเรียกข้อมูล แต่ไม่สามารถอัปเดต

    • เขียน: สามารถเรียกและอัปเดตข้อมูล

    • MetaRead: สามารถเรียกและอัปเดตเมตะดาต้า (ชื่อไดเมนชันและสมาชิก)

      ระดับการเข้าใช้ MetaRead จะแทนที่ระดับการเข้าใช้อื่นๆ ทั้งหมด มีการบังคับใช้ฟิลเตอร์ข้อมูลเพิ่มเติมภายในฟิลเตอร์ MetaRead ที่มีอยู่ การฟิลเตอร์ค่าผสมของสมาชิก (โดยใช้ความสัมพันธ์ AND) จะไม่ใช้กับ MetaRead MetaRead จะฟิลเตอร์สมาชิกแต่ละรายแยกกัน (โดยใช้ความสัมพันธ์ OR)

  6. เลือกแถวในส่วน การระบุสมาชิก และป้อนชื่อสมาชิก แล้วคลิก ส่ง รูปภาพไอคอนส่งฟิลเตอร์ใน Redwood

    คุณสามารถฟิลเตอร์สมาชิกแยกกัน หรือคุณสามารถฟิลเตอร์ค่าผสมของสมาชิก ระบุชื่อไดเมนชันหรือสมาชิก ชื่อแทน ค่าผสมของสมาชิก ชุดสมาชิกที่กำหนดโดยฟังก์ชันหรือชื่อตัวแปรแทน ซึ่งมีเครื่องหมายและ (&) นำหน้า คั่นหลายรายการด้วยเครื่องหมายคอมมา

  7. สร้างแถวเพิ่มเติมสำหรับฟิลเตอร์ได้ตามต้องการ

    หากแถวฟิลเตอร์ทับซ้อนกันหรือขัดแย้งกัน การระบุพื้นที่ลูกบาศก์ที่มีรายละเอียดมากกว่าจะมีผลเหนือการระบุพื้นที่ลูกบาศก์ที่มีรายละเอียดน้อยกว่า และสิทธิ์การเข้าใช้ที่มากกว่าจะมีผลเหนือสิทธิ์การเข้าใช้ที่น้อยกว่า ตัวอย่างเช่น หากคุณให้สิทธิ์การอ่าน Actual และสิทธิ์การเขียน Jan แก่ผู้ใช้ ผู้ใช้จะมีสิทธิ์การเขียน Jan Actual

  8. คลิก ตรวจสอบ เพื่อตรวจสอบให้แน่ใจว่าฟิลเตอร์ถูกต้อง
  9. คลิก บันทึก

ในการแก้ไขฟิลเตอร์ในอินเตอร์เฟซ Redwood ให้หาแท็บฟิลเตอร์โดยเลือกลูกบาศก์แล้วเลือกเพจการปรับแต่ง จากนั้นแก้ไขฟิลเตอร์โดยคลิกที่ชื่อฟิลเตอร์และทำการเปลี่ยนแปลงในโปรแกรมแก้ไขฟิลเตอร์ ในการแก้ไขแถวที่มีอยู่ ให้ดับเบิลคลิกในแถวนั้น

ในการแก้ไขฟิลเตอร์ในเว็บอินเตอร์เฟซแบบคลาสสิก ให้ไปที่แท็บฟิลเตอร์ในเครื่องมือตรวจสอบ และแก้ไขฟิลเตอร์โดยคลิกที่ชื่อฟิลเตอร์และทำการเปลี่ยนแปลงในโปรแกรมแก้ไขฟิลเตอร์

คุณสามารถคัดลอก เปลี่ยนชื่อ หรือลบฟิลเตอร์ได้ โดยคลิกที่เมนูการดำเนินการทางด้านขวาของชื่อฟิลเตอร์แล้วเลือกตัวเลือก

หลังจากสร้างฟิลเตอร์ ระบุฟิลเตอร์ให้กับผู้ใช้หรือกลุ่ม

สร้างฟิลเตอร์แบบไดนามิค Efficient

คุณสามารถสร้างฟิลเตอร์แบบไดนามิคโดยใช้ข้อมูลที่มาภายนอกเพื่อลดจำนวนการกำหนดฟิลเตอร์ที่จำเป็น

แทนที่จะจัดการชุดฟิลเตอร์การเข้าใช้ข้อมูลที่ฮาร์ดโค้ดไว้สำหรับผู้ใช้ต่างๆ คุณสามารถฟิลเตอร์การเข้าใช้เซลล์ลูกบาศก์จากข้อมูลที่มาภายนอกได้ตามชื่อสมาชิกและชื่อผู้ใช้
คุณดำเนินการโดยใช้รูปแบบคำสั่งการกำหนดฟิลเตอร์แบบไดนามิค รวมทั้งวิธี @datasourceLookup และตัวแปร $LoginUser และ $LoginGroup ข้อมูลที่มาภายนอกของคุณเป็นไฟล์ csv หรือตารางเชิงสัมพันธ์ สำหรับข้อมูลที่มาเชิงสัมพันธ์ คุณสามารถโหลดไฟล์ .csv ในตารางเชิงสัมพันธ์

รูปแบบคำสั่งฟิลเตอร์แบบไดนามิค

ใช้รูปแบบคำสั่งฟิลเตอร์แบบไดนามิคเพื่อสร้างฟิลเตอร์แบบยืดหยุ่นที่คุณสามารถกำหนดให้กับผู้ใช้และกลุ่มมากกว่าหนึ่งรายการ

แถวฟิลเตอร์สามารถมีอีลิเมนต์ต่อไปนี้เป็นส่วนหนึ่งของการกำหนด นอกเหนือจากเอ็กซ์เพรสชันของสมาชิก

$loginuser

ตัวแปรนี้จะจัดเก็บค่าของผู้ใช้ที่ล็อกอินในปัจจุบันขณะรันไทม์ สามารถใช้ร่วมกับวิธี @datasourcelookup

$logingroup

ตัวแปรนี้จะจัดเก็บค่าของกลุ่มทั้งหมดที่มีผู้ใช้ที่ล็อกอินอยู่ในปัจจุบัน โดยจะรวมทั้งกลุ่มทางตรงและทางอ้อม เมื่อใช้ร่วมกับเมทธอด @datasourcelookup ระบบจะค้นหาแต่ละกลุ่มแยกกันเทียบกับที่มาข้อมูล

@datasourcelookup

วิธีนี้จะดึงข้อมูลเรคคอร์ดจากที่มาข้อมูล

รูปแบบคำสั่ง

@datasourcelookup (dataSourceName, columnName, columnValue, returnColumnName)
พารามิเตอร์ คำอธิบาย
dataSourceName

ชื่อที่มาข้อมูลภายนอกที่กำหนดใน Essbase สำหรับที่มาข้อมูลระดับแอปพลิเคชัน ให้นำหน้าชื่อด้วยชื่อแอปพลิเคชันและเครื่องหมายจุด

columnName

ชื่อของคอลัมน์ที่มาข้อมูลเพื่อค้นหา columnValue ที่กำหนด

columnValue

ค่าที่จะค้นหาใน columnName

returnColumnName

ชื่อของคอลัมน์ที่มาข้อมูลที่แสดงลิสต์ค่า

คำอธิบาย

การเรียก @datasourcelookup เทียบเท่ากับการสืบค้น SQL ต่อไปนี้:

select returnColumnName from dataSourceName where columnName=columnValue

@datasourcelookup จะค้นหาที่มาข้อมูลที่กำหนดและค้นหาเรคคอร์ดที่  columnName มี columnValue ถ้าคุณระบุ columnValue เป็น $loginuser วิธีนี้จะค้นหาเรคคอร์ดที่ columnName มีชื่อของผู้ใช้ที่ล็อกอินปัจจุบัน

Essbase จะกำหนดแถวการกำหนดฟิลเตอร์โดยการรวมอีลิเมนต์ลิสต์เป็นสตริงที่คั่นด้วยคอมม่า ถ้าเรคคอร์ดใดมีอักขระพิเศษ การเว้นวรรค หรือมีเฉพาะตัวเลข เรคคอร์ดนั้นจะอยู่ในเครื่องหมายคำพูด

ตัวอย่าง

ล้อมรอบพารามิเตอร์ในเครื่องหมายคำพูด

การเรียกต่อไปนี้จะค้นหาที่มาข้อมูลร่วม และแสดงลิสต์ชื่อร้านค้าที่ Mary เป็นผู้จัดการร้าน

@datasourceLookup("StoreManagersDS","STOREMANAGER","Mary","STORE")

การเรียกต่อไปนี้จะค้นหาที่มาข้อมูลระดับแอปพลิเคชัน และแสดงลิสต์ชื่อร้านค้าที่ผู้ใช้ที่ล็อกอินปัจจุบันเป็นผู้จัดการร้าน

@datasourceLookup("Sample.StoreManagersDS","STOREMANAGER","$loginuser","STORE")

การเรียกต่อไปนี้จะค้นหาที่มาข้อมูลระดับแอปพลิเคชัน และแสดงลิสต์ชื่อร้านค้าที่แผนกร้านค้าตรงกับกลุ่มใดๆ ที่มีผู้ใช้ที่ล็อกอินอยู่

@datasourceLookup("Sample.StoreManagersDS","STORE_DEPARTMENT","$logingroup","STORE")

หากผู้ใช้ที่ล็อกอินอยู่ในกลุ่ม 3 กลุ่ม เมทธอด @datasourcelookup ข้างต้นจะแสดงค่าคอลัมน์ทั้งหมดที่ตรงกันสำหรับแต่ละกลุ่ม

เวิร์กโฟลว์สำหรับการสร้างฟิลเตอร์แบบไดนามิค

ใช้เวิร์กโฟลว์ทั่วไปต่อไปนี้ในการสร้างฟิลเตอร์แบบไดนามิค

เวิร์กโฟลว์ฟิลเตอร์แบบไดนามิคนี้จะถือว่าคุณมีลูกบาศก์ และกลุ่มและผู้ใช้ที่จัดเตรียมอยู่แล้ว

  1. ระบุที่มาของข้อมูลว่าเป็นไฟล์หรือที่มาเชิงสัมพันธ์
  2. กำหนดการเชื่อมต่อและที่มาข้อมูลใน Essbase แบบร่วมหรือในระดับแอปพลิเคชัน
  3. สร้างฟิลเตอร์ที่ระดับลูกบาศก์
    • ในอินเตอร์เฟซ Redwood ให้นาวิเกตไปที่ลูกบาศก์ เลือก การปรับแต่ง แล้วเลือก ฟิลเตอร์
    • ในเว็บอินเตอร์เฟซแบบคลาสสิก ให้ใช้ส่วน ฟิลเตอร์ ของเครื่องมือตรวจสอบฐานข้อมูล

  4. กำหนดแถวฟิลเตอร์สำหรับแต่ละฟิลเตอร์ โดยใช้รูปแบบคำสั่งของฟิลเตอร์แบบไดนามิคเพื่อใช้ตัวแปร $loginuser ตัวแปร $logingroup และเมทธอด @datasourcelookup ตามที่จำเป็น
  5. ระบุฟิลเตอร์ให้กับผู้ใช้หรือกลุ่ม
  6. หากคุณระบุฟิลเตอร์ให้กับกลุ่ม ให้ระบุกลุ่มให้กับแอปพลิเคชันที่จะฟิลเตอร์
    • ในอินเตอร์เฟซ Redwood ให้นาวิเกตไปที่แอปพลิเคชัน เลือก การปรับแต่ง แล้วเลือก สิทธิ์
    • ในเว็บอินเตอร์เฟซแบบคลาสสิก ให้ใช้ส่วน สิทธิ์ ของเครื่องมือตรวจสอบแอปพลิเคชัน

ตัวอย่างฟิลเตอร์แบบไดนามิค

ฟิลเตอร์แบบไดนามิคต่อไปนี้จะทำงานร่วมกับลูกบาศก์ชื่อ Efficient.UserFilters ซึ่งมีอยู่ในแกลเลอรี่้เป็นเทมเพลทตัวอย่าง


ฟิลเตอร์แบบไดนามิคที่มีแถว 3 แถวซึ่งให้สิทธิ์การเข้าใช้ metaread แก่ผู้ใช้ที่ล็อกอิน

ในการเรียนรู้วิธีสร้างและใช้ฟิลเตอร์แบบไดนามิคนี้ ให้ดาวน์โหลดเทมเพลทเวิร์กบุค Efficient_Filters.xlsx จากส่วนด้านเทคนิคของแกลเลอรี่ และทำตามคำแนะนำ README ในเวิร์กบุค มีแกลเลอรี่อยู่ในส่วน ไฟล์ ของเว็บอินเตอร์เฟซ Essbase