ใช้ฟังก์ชันฟิลเตอร์แทนฟังก์ชันชุดเวลา

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

ฟังก์ชันชุดเวลาเทียบกับฟังก์ชันฟิลเตอร์

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

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

รูปต่อไปนี้จะแสดงตัวอย่างการสืบค้นแบบฟิสิคัลที่สร้างขึ้นเมื่อคุณใช้ทั้งเมตริคพื้นฐานและเมตริค Ago ของเดือนในรายงานเดียวกัน ระบบจะสร้างการสืบค้นสองประเภท

คำอธิบาย GUID-37245A7E-00E9-4071-9627-1A5BAED91311-default.jpg มีดังนี้
.jpg

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

คำอธิบาย GUID-F1D33998-F8D4-40BF-B630-6EDCEF1DCEFC-default.jpg มีดังนี้
.jpg

ใช้ฟังก์ชันฟิลเตอร์ในแผงข้อมูลพร้อมกับพรอมต์

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

ในตัวอย่างนี้ ไดเมนชันปฏิทินจะรวมคอลัมน์ Julian Period Number เพราะจะช่วยให้การคำนวณง่ายขึ้น ซึ่งจะเป็นไปได้โดยไม่ใช้ Julian Period Number เช่นกัน แต่ต้องใช้สูตรที่มีความซับซ้อนกว่ามากเพื่อคำนวณช่วงเวลาที่เลือก

  1. แก้ไขพรอมต์ Month เพื่อเพิ่มตัวแปรการนำเสนอ (MonthSelected)

    คำอธิบาย GUID-DEEBC7D1-806C-48E9-965C-6131745A65CE-default.png มีดังนี้
    .png

  2. สร้างพรอมต์ของแผงข้อมูลที่แยกต่างหากเพื่อดึงข้อมูล Julian Period Number ที่เกี่ยวข้อง และนำไปใส่ในอีกตัวแปรหนึ่ง (PeriodNumberSelected) พรอมต์ที่สองนี้จะไม่แสดงให้ผู้ใช้เห็น แต่จะซ่อนอยู่ในแผงข้อมูล และค่าที่คำนวณจะขึ้นอยู่กับตัวแปร MonthSelected โดยอัตโนมัติ

    คำอธิบาย GUID-D41AE43F-CD62-498D-B041-9700D586BF77-default.png มีดังนี้
    .png

  3. แก้ไขคุณสมบัติของแผงข้อมูล แล้วคลิกฟิลเตอร์และตัวแปร
  4. เพิ่มพาธพรอมต์ Julian Period

    คำอธิบาย GUID-E46E926E-F0A3-4934-9D10-F0119B9109DF-default.jpg มีดังนี้
    .jpg

  5. ในการวิเคราะห์ ลบฟิลเตอร์ร่วมบนคอลัมน์ Month และใช้ฟังก์ชันที่ฟิลเตอร์สูตรคอลัมน์โดยอิงจาก Julian Period Number ตามที่จำเป็น ต่อไปนี้คือตัวอย่างบางส่วน:

    Current Month: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800})

    Month Ago: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800}-1)

    Year Ago: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"=@{PeriodNumberSelected}{80800}-12)

    Year to date: Filter("Revenue Metrics"."Revenue" using "Time"."Julian Month Number"<=@{PeriodNumberSelected}{80800} and “Time”.”Year”=@{YearSelected}{2019})

ใช้ฟังก์ชันฟิลเตอร์ในเวิร์กบุคพร้อมกับพารามิเตอร์

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

สร้างสามพารามิเตอร์: MonthSelected, PeriodNumberSelected และ YearSelected ระบบจะแสดงเฉพาะพารามิเตอร์ MonthSelected ในแคนวาสในฟิลเตอร์ของแผงข้อมูล

ค่าที่เป็นไปได้ของพารามิเตอร์ MonthSelected กำหนดโดยอิงจากการสืบค้น SQL แบบลอจิคัลที่เลือกทุกเดือน

สำหรับพารามิเตอร์ PeriodNumberSelected และ YearSelected ระบบจะไม่ป๊อปปูเลทค่าที่เป็นไปได้คำอธิบาย GUID-B0D153C1-7DDF-445F-BF09-7E21EBECB88B-default.jpg มีดังนี้
.jpg

จะป๊อปปูเลทเพียงค่าเริ่มต้น พร้อมฟิลเตอร์การสืบค้นแบบลอจิคัลโดยอิงจากค่าของ MonthSelectedคำอธิบาย GUID-C21AC2BA-E3B8-43BC-A812-517A074DBFA2-default.jpg มีดังนี้
.jpg