วิเคราะห์และจัดการข้อมูลด้วย MDX

MDX (Multidimensional Expressions) เป็นภาษาที่ใช้ในการจัดการข้อมูลและการสืบค้นที่มีประสิทธิภาพ

ด้วย MDX คุณสามารถดำเนินการดังนี้

  • สืบค้นและรายงานข้อมูลและเมตะดาต้าในลูกบาศก์ Essbase

  • แทรกข้อมูลในลูกบาศก์ Essbase

  • เอ็กซ์ปอร์ตข้อมูลจากลูกบาศก์ Essbase

การสืบค้น MDX เป็นคำสั่ง MDX เดียวที่มีชุดผลลัพธ์เพียงชุดเดียวที่จะใช้กับลูกบาศก์เดียว

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

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

หัวข้อต่างๆ มีดังนี้

วิเคราะห์ข้อมูลด้วยรายงาน MDX

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

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

ในการสร้างรายงาน MDX ให้ทำดังนี้
  1. ล็อกอินเข้าสู่เว็บอินเตอร์เฟซ Essbase ในฐานะผู้จัดการฐานข้อมูลหรือบทบาทที่สูงกว่า
  2. นาวิเกตไปที่ วิเคราะห์ข้อมูล:
    • ในอินเตอร์เฟซ Redwood ให้เปิดแอปพลิเคชัน เปิดฐานข้อมูล (ลูกบาศก์) แล้วคลิก วิเคราะห์ข้อมูล
    • ในเว็บอินเตอร์เฟซแบบคลาสสิก ให้ขยายแอปพลิเคชัน จากนั้นคลิกเมนูการดำเนินการทางด้านขวาของชื่อลูกบาศก์ แล้วเลือก วิเคราะห์ข้อมูล
  3. ในวิววิเคราะห์ เลือกแท็บ รายงาน แล้วคลิก สร้าง
  4. ป้อนชื่อสำหรับรายงาน และคำอธิบาย (เลือกระบุได้)
  5. ในฟิลด์การสืบค้น ป้อนการสืบค้น MDX ที่เกี่ยวข้องกับลูกบาศก์ปัจจุบัน ตัวอย่างเช่น
    SELECT
      {([West].children)}
    ON COLUMNS,
      {([Diet].children)}
    ON ROWS
    

    การสืบค้นต้องประกอบด้วยการระบุแกนทั้งแถวและคอลัมน์ อีกนัยหนึ่ง คือ รูปแบบคำสั่งของการสืบค้นต้องมีการระบุสำหรับทั้ง ON COLUMNS และ ON ROWS ถึงแม้ว่าจะมีการระบุชุดที่ว่างเปล่า {} สำหรับแกนเดียวเท่านั้น

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

    คุณสามารถใช้ตัวแปรแทนในรายงาน MDX แต่ไม่สามารถใช้ตัวแปรแทนแบบรันไทม์ ในการใช้ตัวแปรแบบรันไทม์ ให้บันทึกการสืบค้น MDX เป็นสคริปต์ และรันจาก Smart View โดยใช้ คำนวณ ในริบบิ้น Essbase

  6. คลิก ตรวจสอบ เพื่อตรวจสอบรูปแบบคำสั่ง MDX ของคุณ จากนั้นคลิก บันทึก
  7. จากแผงข้อมูลรายงานทางด้านซ้าย เลือกรายงานที่บันทึกไว้เพื่อแสดงผลกริด

หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับ MDX โปรดดู MDX และ การเขียนการสืบค้น MDX

เข้าใช้รายงาน MDX

วิธีการทำงานกับรายงานจะขึ้นอยู่กับการเข้าใช้ลูกบาศก์ของคุณ

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

นอกจากการแสดงผลรายงานที่บันทึกไว้ ผู้ใช้ที่มีสิทธิ์เข้าใช้ฐานข้อมูลจะสามารถเอ็กซ์ปอร์ตชุดผลลัพธ์ได้ในหลายรูปแบบ เช่น HTML, CSV, Excel และ JSON

นอกจากนี้ ผู้ใช้ที่มีสิทธิ์เข้าใช้ฐานข้อมูลสามารถดูการสืบค้น MDX ที่กำหนดรายงานได้ โดยการคลิกเมนู การดำเนินการ ที่อยู่ถัดจากชื่อรายงาน และการเลือก ดู

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

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

ตัวอย่างรายงาน MDX

ตัวอย่าง MDX ในส่วนนี้แสดงการวิเคราะห์ประเภทพิเศษที่คุณสามารถดำเนินการได้โดยใช้รายงาน MDX ซึ่งไม่สามารถดำเนินการในวิวการวิเคราะห์เฉพาะกิจได้อย่างง่ายดาย

ตัวอย่างต่อไปนี้ได้รับการออกแบบมาเพื่อการทำงานในลูกบาศก์พื้นฐานตัวอย่าง

รายงานเมตะดาต้า

ตัวอย่างต่อไปนี้จะแสดงเมตะดาต้าเท่านั้น (ชื่อสมาชิก แต่ไม่แสดงข้อมูล)

SELECT 
  {[Product].Levels(1).Members} 
ON ROWS, 
  {} 
ON COLUMNS

แสดงกริด:

เอาต์พุตของรายงานแสดงสมาชิกของผลิตภัณฑ์ 100, 200, 300, 400 และ Diet

รายงานแอททริบิว

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

SELECT 
 [Product].Children 
ON ROWS, 
 [Ounces].Children 
ON COLUMNS 
WHERE {Sales}

แสดงกริด:

เอาต์พุตของรายงานแสดงสมาชิกของผลิตภัณฑ์ในแถวเป็น 100, 200, 300, 400 และ Diet ในคอลัมน์ สมาชิกแอททริบิวจะปรากฏ: Ounces_32, Ounces_20, Ounces_16 และ Ounces_12

รายงานที่ฟิลเตอร์

ตัวอย่างต่อไปนี้ใช้ตัวแบ่งเสี้ยวข้อมูล (คำสั่ง WHERE) เพื่อจำกัดการสืบค้นที่ Cola นอกจากนี้ ฟังก์ชันฟิลเตอร์ยังจำกัดตลาดระดับ 0 ในการสืบค้นไว้ที่ตลาดที่มีกำไรติดลบ

SELECT
  { Profit } 
ON COLUMNS,
  Filter( [Market].levels(0).members, Profit < 0) 
ON ROWS
WHERE {Cola}

แสดงกริด:

เอาต์พุตของรายงานจะแสดงสมาชิกของตลาดในแถวเป็น Oregon, Utah, Nevada, Oklahoma, Louisiana, Ohio, Wisconsin, Missouri และ Iowa ในคอลัมน์ จะแสดงกำไร ค่าข้อมูลจะเป็นค่าลบทั้งหมด

รายงาน UDA

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

SELECT 
  [Product].Children 
ON ROWS, 
  {Intersect(UDA([Market], "Major Market"), [Market].Children)} 
ON COLUMNS 
WHERE {Sales}

แสดงกริด:

เอาต์พุตของรายงานแสดงสมาชิกของผลิตภัณฑ์ในแถวเป็น 100, 200, 300, 400 และ Diet ในคอลัมน์ ตลาดหลักตะวันออกและตอนกลางจะปรากฏ

แทรกและเอ็กซ์ปอร์ตข้อมูลด้วย MDX

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

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

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

คำสั่งแทรกและเอ็กซ์ปอร์ต MDX สามารถรันเป็นสคริปต์ MDX ที่บันทึกไว้

หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับการแทรกและการเอ็กซ์ปอร์ต MDX โปรดดู ข้อกำหนดของการแทรก MDX และ ข้อกำหนดการเอ็กซ์ปอร์ต MDX

รันสคริปต์ MDX

ใช้สคริปต์ MDX เมื่อคุณต้องรันการแทรกหรือการเอ็กซ์ปอร์ตข้อมูล

สำหรับการวิเคราะห์ข้อมูลกริด ให้ใช้สคริปต์ MDX โปรดดู วิเคราะห์ข้อมูลด้วยรายงาน MDX

ในการใช้สคริปต์ MDX ให้เลือกเวิร์กโฟลว์:

เขียน อัปโหลด และรันสคริปต์ MDX

ใช้เวิร์กโฟลว์นี้เพื่อเขียนสคริปต์ MDX ในโปรแกรมแก้ไขข้อความและอัปโหลดไปยัง Essbase

  1. เขียนสคริปต์ MDX ในโปรแกรมแก้ไขข้อความ และบันทึกโดยใช้นามสกุลไฟล์ .mdx

  2. อัปโหลดสคริปต์ MDX ไปยังไดเรคทอรีของแอปพลิเคชันหรือลูกบาศก์ใน ไฟล์ ในเว็บอินเตอร์เฟซ Essbase

  3. รันสคริปต์ MDX จาก งาน หรือจาก Smart View โดยใช้ คำนวณ บนริบบิ้น Essbase

เขียนสคริปต์ MDX ในโปรแกรมแก้ไขสคริปต์และรัน

ใช้เวิร์กโฟลว์นี้เพื่อเขียนสคริปต์ MDX ในโปรแกรมแก้ไขสคริปต์ในลูกบาศก์ และรันสคริปต์จาก งาน

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

  2. คลิก สคริปต์ และคลิก สคริปต์ MDX

  3. คลิก สร้าง ป้อนชื่อสำหรับสคริปต์ และคลิก ตกลง

  4. เขียนสคริปต์ MDX โครงสร้างของสมาชิกและลิสต์ของฟังก์ชันสามารถช่วยคุณได้

  5. ตรวจสอบและบันทึกสคริปต์ จากนั้นปิดโปรแกรมแก้ไขสคริปต์

  6. รันสคริปต์ MDX จาก งาน (โปรดดู รัน MDX) หรือถ้าใช้ Smart View ให้ใช้ คำนวณ บนริบบิ้น Essbase

  1. ในเพจแอปพลิเคชัน ให้ขยายแอปพลิเคชันและลูกบาศก์

  2. คลิก ตรวจสอบ จากเมนูการดำเนินการของลูกบาศก์

  3. คลิก สคริปต์ และคลิก สคริปต์ MDX

  4. คลิก + เพื่อเปิดโปรแกรมแก้ไขสคริปต์

  5. เขียนสคริปต์ MDX โครงสร้างของสมาชิกและลิสต์ของฟังก์ชันสามารถช่วยคุณได้

  6. ตรวจสอบและบันทึกสคริปต์ จากนั้นปิดโปรแกรมแก้ไขสคริปต์

  7. รันสคริปต์ MDX จาก งาน (โปรดดู รัน MDX) หรือถ้าใช้ Smart View ให้ใช้ คำนวณ บนริบบิ้น Essbase

สร้างสคริปต์ MDX ในเครื่องมือออกแบบลูกบาศก์และรันสคริปต์

ใช้เวิร์กโฟลว์นี้เพื่อสร้างสคริปต์ MDX โดยใช้เวิร์กบุคของแอปพลิเคชัน และรันสคริปต์จาก งาน

  1. ในเวิร์กบุคของแอปพลิเคชัน ให้สร้างเวิร์กชีท MDX โปรดดู ทำงานกับเวิร์กชีท MDX ในเครื่องมือออกแบบลูกบาศก์
  2. เพิ่มชื่อไฟล์ในฟิลด์ ชื่อไฟล์
  3. ระบุในฟิลด์ รัน MDX ว่าจะรัน MDX ขณะที่สร้างลูกบาศก์หรือไม่ รายการที่ถูกต้องคือ ใช่ และ ไม่
  4. เพิ่มสคริปต์ MDX ที่ด้านล่างของบรรทัด สคริปต์
  5. บันทึกเวิร์กบุคของแอปพลิเคชัน
  6. สร้างลูกบาศก์ โปรดดู สร้างแอปพลิเคชันและลูกบาศก์ในเครื่องมือออกแบบลูกบาศก์
  7. รันสคริปต์ MDX จาก งาน หรือถ้าใช้ Smart View ให้ใช้ คำนวณ บนริบบิ้น Essbase

หลักเกณฑ์สำหรับสคริปต์ MDX

ใช้คำแนะนำต่อไปนี้เมื่อทำงานกับสคริปต์ MDX

  • ใช้สคริปต์ MDX เพื่อดำเนินการแทรกหรือเอ็กซ์ปอร์ตข้อมูล

  • สำหรับการวิเคราะห์กริด ให้ใช้รายงาน MDX แทนสคริปต์ MDX

  • สคริปต์ MDX อาจมีตัวแปรแทนแบบรันไทม์ได้

    • หากต้องการใช้ภายใน Smart View สคริปต์ MDX ที่มีตัวแปรแทนแบบรันไทม์ต้องใช้รูปแบบคำสั่ง XML ภายในคำสั่งการคำนวณ SET RUNTIMESUBVARS รวมถึง <RTSV_HINT>

    • ในการตั้งค่าตัวแปรแทนแบบรันไทม์ เพื่อให้คำนวณเฉพาะเสี้ยวข้อมูลที่ปรากฏใน Smart View ให้ตั้งค่าของตัวแปรแทนแบบรันไทม์เป็น POV และตั้งค่าประเภทข้อมูลเป็น สมาชิก

    • เมื่อรันจากเว็บอินเตอร์เฟซ Essbase สคริปต์ MDX ของคุณอาจใช้ตัวแปรแทน แต่ไม่ใช่ตัวแปรแทนแบบรันไทม์ ในการใช้ตัวแปรแทนแบบรันไทม์ในสคริปต์ MDX คุณต้องรันสคริปต์จาก Smart View โดยใช้ คำนวณ บนริบบิ้น Essbase

ใช้ตัวแปรแทน

ตัวอย่างสคริปต์ MDX

ต่อไปนี้เป็นตัวอย่างของสคริปต์ MDX ที่คุณสามารถรันในลูกบาศก์ Sample Basic จาก "งาน" หรือใน Smart View

การแทรก MDX

คุณสามารถบันทึกสคริปต์ .mdx นี้และรันจาก งาน หรือจากไดอะล็อก คำนวณ ใน Smart View

INSERT "([Measures].[Payroll])" TO "([Measures].[Revised_Payroll])"
INTO [Sample].[Basic]
FROM (
       SELECT 
            {[Measures].[Payroll]} ON COLUMNS,
                {Crossjoin
                  (Crossjoin(Descendants([Year]), 
                   Crossjoin(Descendants([Scenario]),
                  Descendants([Product]))),
                  Descendants([Market]))} ON ROWS
       FROM [Sample].[Basic]
);

ตัวอย่างข้างต้นถือว่าคุณได้เพิ่มการวัด Revised_Payroll ในพื้นฐานตัวอย่างแล้ว

การเอ็กซ์ปอร์ต MDX

คุณสามารถบันทึกสคริปต์ .mdx นี้และรันจาก งาน หรือจากไดอะล็อก คำนวณ ใน Smart View

EXPORT INTO FILE "sample01" OVERWRITE
SELECT 
 {[Mar],[Apr]} 
ON COLUMNS,
 Crossjoin({[New York]},
  Crossjoin({[Actual],[Budget]},
     {[Opening Inventory],[Ending Inventory]})) 
ON ROWS
FROM [Sample].[Basic]
WHERE ([100-10])

หลังจากที่คุณรันสคริปต์ ระบบจะบันทึกไฟล์การเอ็กซ์ปอร์ตต่อไปนี้ sample01.txt ในไดเรคทอรีลูกบาศก์ของแคตตาล็อกไฟล์

Market,Scenario,Measures,Mar,Apr
New York,Actual,Opening Inventory,2041,2108
New York,Actual,Ending Inventory,2108,2250
New York,Budget,Opening Inventory,1980,2040
New York,Budget,Ending Inventory,2040,2170

การเอ็กซ์ปอร์ต MDX โดยใช้ตัวแปรแทนแบบรันไทม์

คุณสามารถบันทึกสคริปต์ .mdx นี้และรันจากไดอะล็อก คำนวณ ใน Smart View

SET RUNTIMESUBVARS
{
 States = "Massachusetts"<RTSV_HINT><svLaunch>
                    <description>US States</description>
                    <type>member</type>
                    <allowMissing>false</allowMissing>
                    <dimension>Market</dimension>
                    <choice>multiple</choice>
                    </svLaunch></RTSV_HINT>;
};
EXPORT INTO FILE "sample002" OVERWRITE
SELECT
 {[Mar],[Apr]}
ON COLUMNS,
 Crossjoin({&States}, Crossjoin({[Actual],[Budget]},
 {[Opening Inventory],[Ending Inventory]}))
ON ROWS
FROM [Sample].[Basic]
WHERE ([100-10])

หลังจากที่คุณรันสคริปต์ ระบบจะบันทึกไฟล์การเอ็กซ์ปอร์ตต่อไปนี้ sample002.txt ในไดเรคทอรีลูกบาศก์ของแคตตาล็อกไฟล์

Market,Scenario,Measures,Mar,Apr
Massachusetts,Actual,Opening Inventory,-54,-348
Massachusetts,Actual,Ending Inventory,-348,-663
Massachusetts,Budget,Opening Inventory,-160,-520
Massachusetts,Budget,Ending Inventory,-520,-910