MDX (Multidimensional Expressions) เป็นภาษาที่ใช้ในการจัดการข้อมูลและการสืบค้นที่มีประสิทธิภาพ
ด้วย MDX คุณสามารถดำเนินการดังนี้
สืบค้นและรายงานข้อมูลและเมตะดาต้าในลูกบาศก์ Essbase
แทรกข้อมูลในลูกบาศก์ Essbase
เอ็กซ์ปอร์ตข้อมูลจากลูกบาศก์ Essbase
การสืบค้น MDX เป็นคำสั่ง MDX เดียวที่มีชุดผลลัพธ์เพียงชุดเดียวที่จะใช้กับลูกบาศก์เดียว
รายงาน MDX เป็นการสืบค้น MDX เดียว ที่บันทึกในคอนเท็กซ์ลูกบาศก์ คุณสามารถเข้าใช้งานรายงาน MDX ได้จาก Smart View และจากอินเตอร์เฟซทางเว็บของ Essbase
สคริปต์ MDX เป็นไฟล์ที่มีนามสกุลไฟล์ .mdx
ที่คุณสามารถอัปโหลด และรันจากงานหรือใน Smart View สามารถใช้เฉพาะคำสั่งแทรกและเอ็กซ์ปอร์ต MDX ในสคริปต์ MDX ในการวิเคราะห์ข้อมูลกริด ใช้รายงาน MDX แทนสคริปต์ MDX
หัวข้อต่างๆ มีดังนี้
คุณสามารถจัดเก็บและแสดงผลการสืบค้นในเว็บอินเตอร์เฟซ Essbase โดยใช้รายาน MDX สิทธิ์ขั้นต่ำที่จำเป็นสำหรับการสร้างรายงานคือ ผู้จัดการฐานข้อมูล
การกำหนดเลย์เอาต์โดยใช้แท็บการวิเคราะห์เฉพาะกิจอาจไม่ใช่วิธีที่มีประสิทธิภาพมากที่สุดในการสร้างรายงานแบบซับซ้อนเสมอไป หากคุณทราบดีว่าคุณต้องการสืบค้นข้อมูลใด คุณสามารถใช้ MDX ในการสร้างการสืบค้นเพื่อป็อปปูเลทกริด
หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับ MDX โปรดดู MDX และ การเขียนการสืบค้น MDX
วิธีการทำงานกับรายงานจะขึ้นอยู่กับการเข้าใช้ลูกบาศก์ของคุณ
ผู้ใช้ที่มีบทบาทระดับแอปพลิเคชันของการเข้าใช้ฐานข้อมูลเป็นอย่างน้อยจะสามารถแสดงผลรายงาน MDX ที่บันทึกซึ่งบุคคลอื่นสร้างไว้ได้ ข้อมูลที่ผู้ใช้สามารถเห็นซึ่งปรากฏในรายงานจะขึ้นอยู่กับการเข้าใช้ฟิลเตอร์ของผู้ใช้ดังกล่าว
นอกจากการแสดงผลรายงานที่บันทึกไว้ ผู้ใช้ที่มีสิทธิ์เข้าใช้ฐานข้อมูลจะสามารถเอ็กซ์ปอร์ตชุดผลลัพธ์ได้ในหลายรูปแบบ เช่น HTML, CSV, Excel และ JSON
นอกจากนี้ ผู้ใช้ที่มีสิทธิ์เข้าใช้ฐานข้อมูลสามารถดูการสืบค้น MDX ที่กำหนดรายงานได้ โดยการคลิกเมนู การดำเนินการ ที่อยู่ถัดจากชื่อรายงาน และการเลือก ดู
หากคุณมีบทบาทของผู้จัดการฐานข้อมูลเป็นอย่างน้อย คุณจะสามารถใช้รายงานต่างๆ ด้วยวิธีเดียวกับที่ผู้ใช้ที่มีสิทธิ์เข้าใช้ฐานข้อมูลสามารถดำเนินการได้ นอกจากนี้ คุณยังสามารถแก้ไขและลบรายงานโดยใช้เมนู การดำเนินการ ได้เช่นกัน
หากคุณเป็นผู้ดูแลบริการ คุณจะสามารถใช้ปุ่ม รันเป็น เพื่อระบุชื่อผู้ใช้รายอื่นและตรวจสอบการเข้าใช้ข้อมูลของผู้ใช้เหล่านั้นได้ วิธีนี้มีประโยชน์สำหรับการทดสอบฟิลเตอร์ที่ระบุให้กับผู้ใช้ต่างๆ
ตัวอย่าง MDX ในส่วนนี้แสดงการวิเคราะห์ประเภทพิเศษที่คุณสามารถดำเนินการได้โดยใช้รายงาน MDX ซึ่งไม่สามารถดำเนินการในวิวการวิเคราะห์เฉพาะกิจได้อย่างง่ายดาย
ตัวอย่างต่อไปนี้ได้รับการออกแบบมาเพื่อการทำงานในลูกบาศก์พื้นฐานตัวอย่าง
รายงานเมตะดาต้า
ตัวอย่างต่อไปนี้จะแสดงเมตะดาต้าเท่านั้น (ชื่อสมาชิก แต่ไม่แสดงข้อมูล)
SELECT {[Product].Levels(1).Members} ON ROWS, {} ON COLUMNS
แสดงกริด:
รายงานแอททริบิว
ตัวอย่างต่อไปนี้ใช้สมาชิกจากไดเมนชันแอททริบิวในคอลัมน์
SELECT [Product].Children ON ROWS, [Ounces].Children ON COLUMNS WHERE {Sales}
แสดงกริด:
รายงานที่ฟิลเตอร์
ตัวอย่างต่อไปนี้ใช้ตัวแบ่งเสี้ยวข้อมูล (คำสั่ง WHERE) เพื่อจำกัดการสืบค้นที่ Cola นอกจากนี้ ฟังก์ชันฟิลเตอร์ยังจำกัดตลาดระดับ 0 ในการสืบค้นไว้ที่ตลาดที่มีกำไรติดลบ
SELECT { Profit } ON COLUMNS, Filter( [Market].levels(0).members, Profit < 0) ON ROWS WHERE {Cola}
แสดงกริด:
รายงาน UDA
ตัวอย่างต่อไปนี้แสดงข้อมูลผลิตภัณฑ์สำหรับสมาชิกของไดเมนชันตลาดที่มีแอททริบิวที่ผู้ใช้กำหนด (UDA) เป็น "ตลาดหลัก" ตัวแบ่งเสี้ยวข้อมูล (คำสั่ง WHERE) จะจำกัดการสืบค้นเพื่อรวมเฉพาะข้อมูลยอดขายเท่านั้น
SELECT [Product].Children ON ROWS, {Intersect(UDA([Market], "Major Market"), [Market].Children)} ON COLUMNS WHERE {Sales}
แสดงกริด:
นอกจากจะมีประโยชน์ในการวิเคราะห์แบบตารางแล้ว MDX ยังช่วยให้คุณสามารถคัดลอกและอัปเดตชุดย่อยของข้อมูลที่มีหลายไดเมนชัน
ส่วนของคำสั่งการแทรก MDX ช่วยให้คุณสามารถอัปเดตลูกบาศก์ด้วยข้อมูลจากสมาชิกที่คำนวณ (ไม่ใช่แบบฟิสิคัล) ซึ่งคุณกำหนดโดยใช้ MDX
ส่วนของคำสั่งการเอ็กซ์ปอร์ต MDX ช่วยให้คุณสามารถบันทึกและเอ็กซ์ปอร์ตผลลัพธ์การสืบค้นเป็นสับเซ็ตของข้อมูลที่คุณสามารถดูหรืออิมปอร์ตได้ในภายหลัง
คำสั่งแทรกและเอ็กซ์ปอร์ต MDX สามารถรันเป็นสคริปต์ MDX ที่บันทึกไว้
หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับการแทรกและการเอ็กซ์ปอร์ต MDX โปรดดู ข้อกำหนดของการแทรก MDX และ ข้อกำหนดการเอ็กซ์ปอร์ต MDX
ใช้สคริปต์ MDX เมื่อคุณต้องรันการแทรกหรือการเอ็กซ์ปอร์ตข้อมูล
สำหรับการวิเคราะห์ข้อมูลกริด ให้ใช้สคริปต์ MDX โปรดดู วิเคราะห์ข้อมูลด้วยรายงาน MDX
ในการใช้สคริปต์ MDX ให้เลือกเวิร์กโฟลว์:
ใช้เวิร์กโฟลว์นี้เพื่อเขียนสคริปต์ MDX ในโปรแกรมแก้ไขข้อความและอัปโหลดไปยัง Essbase
เขียนสคริปต์ MDX ในโปรแกรมแก้ไขข้อความ และบันทึกโดยใช้นามสกุลไฟล์ .mdx
อัปโหลดสคริปต์ MDX ไปยังไดเรคทอรีของแอปพลิเคชันหรือลูกบาศก์ใน ไฟล์ ในเว็บอินเตอร์เฟซ Essbase
รันสคริปต์ MDX จาก งาน หรือจาก Smart View โดยใช้ คำนวณ บนริบบิ้น Essbase
ใช้เวิร์กโฟลว์นี้เพื่อเขียนสคริปต์ MDX ในโปรแกรมแก้ไขสคริปต์ในลูกบาศก์ และรันสคริปต์จาก งาน
ในเพจแอปพลิเคชัน ให้เปิดแอปพลิเคชันแล้วเปิดฐานข้อมูล (ลูกบาศก์)
คลิก สคริปต์ และคลิก สคริปต์ MDX
คลิก สร้าง ป้อนชื่อสำหรับสคริปต์ และคลิก ตกลง
เขียนสคริปต์ MDX โครงสร้างของสมาชิกและลิสต์ของฟังก์ชันสามารถช่วยคุณได้
ตรวจสอบและบันทึกสคริปต์ จากนั้นปิดโปรแกรมแก้ไขสคริปต์
รันสคริปต์ MDX จาก งาน (โปรดดู รัน MDX) หรือถ้าใช้ Smart View ให้ใช้ คำนวณ บนริบบิ้น Essbase
ในเพจแอปพลิเคชัน ให้ขยายแอปพลิเคชันและลูกบาศก์
คลิก ตรวจสอบ จากเมนูการดำเนินการของลูกบาศก์
คลิก สคริปต์ และคลิก สคริปต์ MDX
คลิก + เพื่อเปิดโปรแกรมแก้ไขสคริปต์
เขียนสคริปต์ MDX โครงสร้างของสมาชิกและลิสต์ของฟังก์ชันสามารถช่วยคุณได้
ตรวจสอบและบันทึกสคริปต์ จากนั้นปิดโปรแกรมแก้ไขสคริปต์
รันสคริปต์ MDX จาก งาน (โปรดดู รัน 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 ที่คุณสามารถรันในลูกบาศก์ 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