ใช้พารามิเตอร์สำหรับที่มาข้อมูล

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

ตัวแปรเหล่านี้อาจเป็นตัวแปรแทนที่กำหนดไว้ใน Essbase, พารามิเตอร์รันไทม์ที่กำหนดตามคอนเท็กซ์กริด เมื่อผู้ใช้ Smart View ดริลล์ผ่านไปยังข้อมูลภายนอก หรือฟังก์ชันที่ผู้กำหนดที่เขียนบันทึกในระบบที่มาภายนอก

เมื่อใดก็ตามที่คุณวางแผนใช้ตัวแปรในที่มาข้อมูลของ Essbase คุณจำเป็นต้อง

  1. รวมรูปแบบคำสั่งตัวแปรในการสืบค้นที่มาข้อมูล ตัวอย่างเช่น การสืบค้นที่มาข้อมูลต้องมี ? อยู่ในรูปแบบคำสั่งของการสืบค้น โดยที่ ? เป็นตัวจองพื้นที่สำหรับตัวแปรบางรายการที่จะได้รับการกำหนดขณะรันไทม์

  2. ดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้:

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

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

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

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

ตัวอย่างเช่น สมมติว่าเป็นกรณีการใช้ต่อไปนี้

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

  • ผู้จัดการแอปพลิเคชันจัดการการกำหนดรายงานการดริลล์ผ่านสำหรับกรณีการใช้ทางธุรกิจอื่น ผู้จัดการแอปพลิเคชันจะใช้ตัวแปรต่างๆ ในที่มาข้อมูลที่ใช้งานอยู่ ซึ่งผู้ใช้ Smart View ดึงมาในการดริลล์ผ่าน ผลลัพธ์ที่ได้คือ ผู้จัดการแอปพลิเคชันมีการกำหนดรายงานการดริลล์ผ่านที่จะจัดการและดีบักที่น้อยลง

ตั้งค่าพารามิเตอร์ดีฟอลต์ในที่มาข้อมูล

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

ในการตั้งค่าพารามิเตอร์ดีฟอลต์

  1. รับหรือสร้างการเชื่อมต่อกับที่มาของข้อมูลภายนอก (ตัวอย่างเช่น สร้างการเชื่อมต่อกับ Oracle Database)

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

  2. สร้างที่มาข้อมูลผ่านการเชื่อมต่อที่คุณจะใช้เพื่อเข้าใช้ Oracle Database

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

    1. ในการสร้างที่มาข้อมูลร่วม คุณต้องเป็น ผู้ดูแลบริการ คลิก ที่มา คลิกแท็บ ที่มาข้อมูล ภายใต้ชื่อผู้ใช้ของคุณ แล้วคลิก สร้างที่มาข้อมูล

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

    2. ในขั้นตอนทั่วไป สำหรับ การเชื่อมต่อ ให้เลือกการเชื่อมต่อ Oracle Database ที่คุณสร้าง

    3. สำหรับ ชื่อ ให้ระบุชื่อให้กับที่มาข้อมูล

    4. สำหรับ การสืบค้น ให้ระบุการสืบค้น (ตัวอย่างนี้ใช้ SQL) ในการกำหนดให้การสืบค้นเป็นการสืบค้นที่มีการกำหนดพารามิเตอร์ คุณต้องรวมเงื่อนไขของฟิลเตอร์ (คำสั่ง WHERE) ที่แมปคอลัมน์เชิงสัมพันธ์ในที่มาของคุณกับตัวจองพื้นที่ คุณระบุตำแหน่งของตัวแปรโดยการใช้ตัวจองพื้นที่ ? ในรูปแบบคำสั่งการสืบค้น ตัวจองพื้นที่มีไว้สำหรับพารามิเตอร์ที่คุณจะใช้ระบุในขั้นตอนหลังจากนี้

      select * from SB_DT where DIMENSION_YEAR=?

      ตัวอย่าง สมมติว่าฐานข้อมูลเชิงสัมพันธ์ของคุณมีตารางต่อไปนี้ ชื่อ SB_DT ตารางมีคอลัมน์ DIMENSION_YEAR ที่มีเดือนเป็นค่า:
      รูปภาพตารางฐานข้อมูลเชิงสัมพันธ์ที่มีการเลือกคอลัมน์ DIMENSION_YEAR ค่าทั้งหมดคือ เดือน: Jul, Aug, Aug, Sep, Sep, Oct เป็นต้น

      ในการใช้ตัวแปรสำหรับการเลือกค่าเดือนจากคอลัมน์ DIMENSION_YEAR ให้ใช้รูปแบบคำสั่งฟิลเตอร์ต่อไปนี้ในการสืบค้น: where DIMENSION_YEAR=?
      รูปภาพแท็บทั่วไปในวิซาร์ดสร้างที่มาข้อมูล การเชื่อมต่อ: SAMPLE.oracledb_conn, ชื่อ: oracledb_ds, คำอธิบาย: ที่มาข้อมูลสำหรับ Oracle DB, การสืบค้น: select * from SB_DT where dimension_year=?

    5. คลิก ถัดไป

    6. ในขั้นตอน คอลัมน์ ให้ใช้ประเภทข้อมูลที่เหมาะสมที่ Essbase ต้องเชื่อมโยงกับแต่ละคอลัมน์จากข้อมูลที่มาเชิงสัมพันธ์ของคุณ

      ตัวอย่างเช่น ตั้งค่าคอลัมน์ที่เป็นตัวเลขเป็นประเภท Double และปล่อยคอลัมน์ตัวอักษรและตัวเลขเป็นประเภท String


      รูปภาพแท็บคอลัมน์ในวิซาร์ดสร้างที่มาข้อมูล โดยมีการเลือกประเภทแบบ Double และ String

    7. คลิก ถัดไป

    8. ในขั้นตอนพารามิเตอร์ ระบบจะสร้าง Param1 – มีพารามิเตอร์นี้อยู่เนื่องจากคุณใช้ ? ในการสืบค้นในขั้นตอนทั่วไป

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

      นอกจากนี้ คุณยังสามารถเปลี่ยนชื่อ Param1 เป็นชื่อที่มีความหมายสำหรับกรณีการใช้งานของคุณได้ ตัวอย่างเช่น คุณสามารถเปลี่ยนชื่อเป็น param_G_month เพื่อแสดงว่าพารามิเตอร์ใช้ตัวแปรร่วมสำหรับเดือนปัจจุบัน หรือคุณสามารถเปลี่ยนชื่อเป็น param_<appName>_month เพื่อแสดงว่าพารามิเตอร์ใช้ตัวแปรระดับแอปพลิเคชันสำหรับเดือนปัจจุบัน การปรับแต่งชื่อพารามิเตอร์จะเป็นประโยชน์เมื่อดีบักพารามิเตอร์โดยใช้ล็อกไฟล์ของเซิร์ฟเวอร์ Essbase


      รูปภาพแท็บพารามิเตอร์ในวิซาร์ดสร้างที่มาข้อมูล ไม่ได้ทำเครื่องหมาย 'ใช้ตัวแปร' และค่าที่ป้อนคือ Jan

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

    9. คลิก ถัดไป

    10. ใน แสดงตัวอย่าง ให้สังเกตว่ามีการใช้พารามิเตอร์ดีฟอลต์กับการสืบค้นของคุณแล้ว ซึ่งทำให้การแสดงตัวอย่างป็อปปูเลทด้วยเรคคอร์ดที่มาภายนอกที่มีค่าของคอลัมน์ DIMENSION_YEAR เป็น Jan เท่านั้น


      รูปภาพแท็บแสดงตัวอย่างในวิซาร์ดสร้างที่มาข้อมูล ซึ่งแสดงเฉพาะเรคคอร์ดที่ DIMENSION_YEAR = Jan เท่านั้น

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

    11. คลิก สร้าง เพื่อสร้างที่มาข้อมูลตามการสืบค้นข้อมูลที่มาภายนอกนี้ มีการใช้งานที่มาข้อมูลสำหรับการใช้งานพารามิเตอร์รันไทม์

ใช้ตัวแปรแทนในที่มาข้อมูล

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

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

  1. สร้างระดับร่วมหรือระดับแอปพลิเคชัน ตัวแปรแทน


    รูปภาพตัวแปรแทนที่สร้างขึ้นในระดับแอปพลิเคชัน ชื่อ: CurrMonth, ค่า: Aug

  2. รับหรือสร้างการเชื่อมต่อกับที่มาของข้อมูลภายนอก (ตัวอย่างเช่น สร้างการเชื่อมต่อกับ Oracle Database)

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

  3. สร้างที่มาข้อมูลผ่านการเชื่อมต่อที่คุณจะใช้เพื่อเข้าใช้ Oracle Database

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

    1. ในขั้นตอนทั่วไป สำหรับ การเชื่อมต่อ ให้เลือกการเชื่อมต่อ Oracle Database ที่คุณสร้าง

    2. สำหรับ ชื่อ ให้ระบุชื่อให้กับที่มาข้อมูล

    3. สำหรับ การสืบค้น ให้ระบุการสืบค้น (ตัวอย่างนี้ใช้ SQL) ในการกำหนดให้การสืบค้นเป็นการสืบค้นที่มีการกำหนดพารามิเตอร์ คุณต้องรวมเงื่อนไขของฟิลเตอร์ (คำสั่ง WHERE) ที่แมปคอลัมน์เชิงสัมพันธ์ในที่มาของคุณกับตัวจองพื้นที่ คุณระบุตำแหน่งของตัวแปรโดยการใช้ตัวจองพื้นที่ ? ในรูปแบบคำสั่งการสืบค้น ตัวจองพื้นที่มีไว้สำหรับพารามิเตอร์ที่คุณจะใช้ระบุในขั้นตอนหลังจากนี้

      select * from SB_DT where DIMENSION_YEAR=?

      ตัวอย่าง สมมติว่าฐานข้อมูลเชิงสัมพันธ์ของคุณมีตารางต่อไปนี้ ชื่อ SB_DT ตารางมีคอลัมน์ DIMENSION_YEAR ที่มีเดือนเป็นค่า:
      รูปภาพตารางฐานข้อมูลเชิงสัมพันธ์ที่มีการเลือกคอลัมน์ DIMENSION_YEAR ค่าทั้งหมดคือ เดือน: Jul, Aug, Aug, Sep, Sep, Oct เป็นต้น

      ในการใช้ตัวแปรสำหรับการเลือกค่าเดือนจากคอลัมน์ DIMENSION_YEAR ให้ใช้รูปแบบคำสั่งฟิลเตอร์ต่อไปนี้ในการสืบค้น: where DIMENSION_YEAR=?
      รูปภาพแท็บทั่วไปในวิซาร์ดสร้างที่มาข้อมูล การเชื่อมต่อ: SAMPLE.oracledb_conn, ชื่อ: oracledb_ds, คำอธิบาย: ที่มาข้อมูลสำหรับ Oracle DB, การสืบค้น: select * from SB_DT where dimension_year=?

    4. คลิก ถัดไป

    5. ในขั้นตอน คอลัมน์ ให้ใช้ประเภทข้อมูลที่เหมาะสมที่ Essbase ต้องเชื่อมโยงกับแต่ละคอลัมน์จากข้อมูลที่มาเชิงสัมพันธ์ของคุณ

      ตัวอย่างเช่น ตั้งค่าคอลัมน์ที่เป็นตัวเลขเป็นประเภท Double และปล่อยคอลัมน์ตัวอักษรและตัวเลขเป็นประเภท String


      รูปภาพแท็บคอลัมน์ในวิซาร์ดสร้างที่มาข้อมูล โดยมีการเลือกประเภทแบบ Double และ String

    6. คลิก ถัดไป

    7. ในขั้นตอนพารามิเตอร์ ระบบจะสร้าง Param1 – มีพารามิเตอร์นี้อยู่เนื่องจากคุณใช้ ? ในการสืบค้นในขั้นตอนทั่วไป ในการปรับแต่ง Param1 เพื่ออ้างอิงตัวแปรแทน ให้คลิก ใช้ตัวแปร แล้วเลือกตัวแปรแทนจากลิสต์แบบดรอปดาวน์ ค่า

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

      คุณสามารถเปลี่ยนชื่อ Param1 เป็นชื่อที่มีความหมายสำหรับกรณีการใช้งานของคุณได้ ตัวอย่างเช่น คุณสามารถเปลี่ยนชื่อเป็น param_G_month เพื่อแสดงว่าพารามิเตอร์ใช้ตัวแปรร่วมสำหรับเดือนปัจจุบัน หรือคุณสามารถเปลี่ยนชื่อเป็น param_<appName>_month เพื่อแสดงว่าพารามิเตอร์ใช้ตัวแปรระดับแอปพลิเคชันสำหรับเดือนปัจจุบัน การปรับแต่งชื่อพารามิเตอร์จะเป็นประโยชน์เมื่อดีบักพารามิเตอร์โดยใช้ล็อกไฟล์ของเซิร์ฟเวอร์ Essbase


      รูปภาพแท็บพารามิเตอร์ในวิซาร์ดสร้างที่มาข้อมูล ทำเครื่องหมาย 'ใช้ตัวแปร' แล้ว และค่า คือ Sample.CurrMonth

    8. คลิก ถัดไป

    9. ใน แสดงตัวอย่าง ให้สังเกตว่ามีการใช้ตัวแปรแทนกับการสืบค้นของคุณแล้ว ซึ่งทำให้การแสดงตัวอย่างป็อปปูเลทด้วยเรคคอร์ดที่มาภายนอกที่มีค่าของคอลัมน์ DIMENSION_YEAR เป็น Aug เท่านั้น


      รูปภาพแท็บแสดงตัวอย่างในวิซาร์ดสร้างที่มาข้อมูล ซึ่งแสดงเฉพาะเรคคอร์ดที่ DIMENSION_YEAR = Aug เท่านั้น

    10. คลิก สร้าง เพื่อสร้างที่มาข้อมูลตามการสืบค้นข้อมูลที่มาภายนอกนี้