โอลาปสำหรับบริษัทเล็กๆ การออกแบบคิวบ์ข้อมูล

ในส่วนของงานนี้ จะพิจารณาประเด็นต่อไปนี้:

  • OLAP คิวบ์คืออะไร
  • การวัด มิติ ลำดับชั้นคืออะไร?
  • การดำเนินการประเภทใดที่สามารถทำได้บน OLAP คิวบ์
แนวคิดของคิวบ์ OLAP

หลักสำคัญของ OLAP คือการนำเสนอข้อมูลหลายมิติ ในคำศัพท์เฉพาะทางของ OLAP แนวคิดของคิวบ์หรือไฮเปอร์คิวบ์ ใช้เพื่ออธิบายพื้นที่ข้อมูลแยกหลายมิติ

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

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

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

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

รูปที่ 1 แสดงตัวอย่างลูกบาศก์ที่ออกแบบมาเพื่อวิเคราะห์ยอดขายผลิตภัณฑ์ปิโตรเลียมของบริษัทบางแห่งตามภูมิภาค คิวบ์นี้มีสามมิติ (เวลา ผลิตภัณฑ์ และภูมิภาค) และหนึ่งหน่วยวัด (ปริมาณการขายแสดงเป็นเงื่อนไขทางการเงิน) ค่าการวัดจะถูกเก็บไว้ในเซลล์ที่สอดคล้องกันของคิวบ์ แต่ละเซลล์จะถูกระบุโดยไม่ซ้ำกันโดยชุดสมาชิกของแต่ละมิติ เรียกว่าทูเพิล ตัวอย่างเช่น เซลล์ที่อยู่ในมุมซ้ายล่างของคิวบ์ (มีค่า $98399) จะถูกระบุโดยทูเพิล [กรกฎาคม 2548, ตะวันออกไกล, ดีเซล] มูลค่า 98,399 ดอลลาร์ในที่นี้แสดงปริมาณการขาย (ในรูปตัวเงิน) ของน้ำมันดีเซลในตะวันออกไกลในเดือนกรกฎาคม พ.ศ. 2548

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

ข้าว. 1. Cube พร้อมข้อมูลการขายผลิตภัณฑ์ปิโตรเลียมในภูมิภาคต่างๆ

เป้าหมายสูงสุดของการสร้างคิวบ์ดังกล่าวคือการลดเวลาการประมวลผลของเคียวรีที่ดึงข้อมูลที่ต้องการจากข้อมูลจริงให้เหลือน้อยที่สุด เพื่อให้งานนี้สำเร็จ โดยทั่วไปคิวบ์จะมีผลรวมที่คำนวณไว้ล่วงหน้าที่เรียกว่า การรวมตัว(การรวมกลุ่ม) เหล่านั้น. คิวบ์ครอบคลุมพื้นที่ข้อมูลที่มีขนาดใหญ่กว่าพื้นที่จริง - มีจุดที่คำนวณได้เชิงตรรกะอยู่ในนั้น ฟังก์ชันการรวมช่วยให้คุณคำนวณค่าของจุดในพื้นที่โลจิคัลตามค่าจริง ฟังก์ชันการรวมที่ง่ายที่สุดคือ SUM, MAX, MIN, COUNT ตัวอย่างเช่น การใช้ฟังก์ชัน MAX สำหรับคิวบ์ที่ให้ไว้ในตัวอย่าง คุณสามารถระบุได้ว่ายอดขายดีเซลสูงสุดเกิดขึ้นเมื่อใดในตะวันออกไกล เป็นต้น

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

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

การดำเนินการบนคิวบ์ OLAP

การดำเนินการต่อไปนี้สามารถทำได้บนคิวบ์ OLAP:

  • ชิ้น;
  • การหมุน;
  • การรวมบัญชี;
  • รายละเอียด
ชิ้น(รูปที่ 2) เป็นกรณีพิเศษของคิวบ์ย่อย นี่คือขั้นตอนสำหรับการสร้างชุดย่อยของอาร์เรย์ข้อมูลหลายมิติที่สอดคล้องกับค่าเดียวขององค์ประกอบมิติตั้งแต่หนึ่งองค์ประกอบขึ้นไปที่ไม่รวมอยู่ในชุดย่อยนี้ ตัวอย่างเช่น หากต้องการทราบว่าการขายผลิตภัณฑ์ปิโตรเลียมมีความคืบหน้าอย่างไรในช่วงเวลาหนึ่งเฉพาะในบางภูมิภาค เช่น ในเทือกเขาอูราล คุณต้องแก้ไขมิติ "ผลิตภัณฑ์" ในองค์ประกอบ "อูราล" และแยกชุดย่อยที่เกี่ยวข้อง (คิวบ์ย่อย) ออกจาก ลูกบาศก์
  • ข้าว. 2.ชิ้นลูกบาศก์ OLAP

    การหมุน(รูปที่ 3) - การดำเนินการเปลี่ยนตำแหน่งของการวัดที่แสดงในรายงานหรือบนหน้าที่แสดง ตัวอย่างเช่น การดำเนินการหมุนอาจเกี่ยวข้องกับการจัดเรียงแถวและคอลัมน์ของตารางใหม่ นอกจากนี้ การหมุนคิวบ์ข้อมูลจะย้ายมิติที่อยู่นอกตารางให้เข้าที่โดยมีมิติปรากฏบนเพจที่แสดง และในทางกลับกัน

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

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

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

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

    การแสดงตารางสามมิติ ส่วนสีเทาแสดงว่าไม่มีข้อมูลสำหรับอาร์เจนตินาในปี 1988

    อาร์เรย์สามมิตินี้เองที่เรียกว่าคิวบ์ในแง่ OLAP ในความเป็นจริง จากมุมมองของคณิตศาสตร์ที่เข้มงวด อาเรย์ดังกล่าวจะไม่ใช่คิวบ์เสมอไป: คิวบ์จริงจะต้องมีจำนวนองค์ประกอบเท่ากันในทุกมิติ แต่คิวบ์ OLAP ไม่มีข้อจำกัดดังกล่าว อย่างไรก็ตาม แม้จะมีรายละเอียดเหล่านี้ แต่คำว่า "OLAP cube" ก็ยังเป็นที่ยอมรับกันโดยทั่วไปเนื่องจากความกะทัดรัดและเป็นรูปเป็นร่าง OLAP คิวบ์ไม่จำเป็นต้องเป็นสามมิติ อาจเป็นได้ทั้งแบบสองมิติและหลายมิติ ขึ้นอยู่กับปัญหาที่กำลังแก้ไข นักวิเคราะห์ที่มีประสบการณ์โดยเฉพาะอาจต้องการมิติข้อมูลประมาณ 20 มิติ และผลิตภัณฑ์ OLAP ที่จริงจังได้รับการออกแบบมาเพื่อปริมาณเท่านี้พอดี แอปพลิเคชันเดสก์ท็อปที่เรียบง่ายกว่ารองรับประมาณ 6 มิติ

    การวัด OLAP cube ประกอบด้วยสิ่งที่เรียกว่า เครื่องหมายหรือสมาชิก ตัวอย่างเช่น มิติข้อมูลประเทศประกอบด้วยป้ายกำกับอาร์เจนตินา บราซิล เวเนซุเอลา และอื่นๆ

    ไม่จำเป็นต้องกรอกองค์ประกอบทั้งหมดของลูกบาศก์: หากไม่มีข้อมูลเกี่ยวกับการขายผลิตภัณฑ์ยางในอาร์เจนตินาในปี 1988 ก็จะไม่กำหนดค่าในเซลล์ที่เกี่ยวข้อง ไม่จำเป็นเลยที่แอปพลิเคชัน OLAP จำเป็นต้องจัดเก็บข้อมูลในโครงสร้างหลายมิติ - สิ่งสำคัญคือข้อมูลนี้มีลักษณะเช่นนี้สำหรับผู้ใช้ อย่างไรก็ตาม มันเป็นวิธีการพิเศษในการจัดเก็บข้อมูลหลายมิติขนาดกะทัดรัดที่ "สุญญากาศ" (องค์ประกอบที่ไม่ได้บรรจุ) ในคิวบ์ไม่ทำให้หน่วยความจำสิ้นเปลือง

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

    ตามกฎแล้วมีเพียงสองมิติเท่านั้นที่ยังคง "ไม่ได้เจียระไน" - ตามจำนวนมิติในตาราง มันเกิดขึ้นว่ามีเพียงมิติเท่านั้นที่ยังคง "ไม่ได้เจียระไน" - หากคิวบ์มีค่าตัวเลขหลายประเภทก็สามารถลงจุดตามมิติตารางใดมิติหนึ่งได้

    หากคุณดูตารางที่เราอธิบายให้ละเอียดยิ่งขึ้น คุณจะสังเกตเห็นว่าข้อมูลในนั้นมีแนวโน้มว่าจะไม่ใช่ข้อมูลหลัก แต่ได้รับผลที่ตามมา ผลรวมบนองค์ประกอบที่เล็กกว่า ตัวอย่างเช่น หนึ่งปีแบ่งออกเป็นไตรมาส ไตรมาสเป็นเดือน เดือนเป็นสัปดาห์ สัปดาห์เป็นวัน ประเทศประกอบด้วยภูมิภาค และภูมิภาคประกอบด้วยพื้นที่ที่มีประชากร ในที่สุด สามารถระบุเขตและร้านค้าปลีกเฉพาะในเมืองได้ สินค้าสามารถนำมารวมกันเป็นกลุ่มสินค้าได้ เป็นต้น ในแง่ OLAP การเชื่อมโยงหลายระดับดังกล่าวเรียกว่าค่อนข้างสมเหตุสมผล ลำดับชั้น. เครื่องมือ OLAP ช่วยให้สามารถย้ายไปยังระดับลำดับชั้นที่ต้องการได้ตลอดเวลา นอกจากนี้ ตามกฎแล้ว ลำดับชั้นหลายประเภทได้รับการสนับสนุนสำหรับองค์ประกอบเดียวกัน: ตัวอย่างเช่น วัน-สัปดาห์-เดือน หรือ วัน-ทศวรรษ-ไตรมาส ข้อมูลต้นฉบับนำมาจากลำดับชั้นที่ต่ำกว่าแล้วสรุปเพื่อให้ได้ค่าในระดับที่สูงกว่า เพื่อเร่งกระบวนการเปลี่ยนผ่าน ค่ารวมสำหรับระดับต่างๆ จะถูกจัดเก็บไว้ในคิวบ์ ดังนั้นสิ่งที่ดูเหมือนลูกบาศก์หนึ่งจากฝั่งผู้ใช้ พูดคร่าวๆ แล้วประกอบด้วยลูกบาศก์ดั้งเดิมอีกมากมาย

    ตัวอย่างลำดับชั้น

    นี่เป็นหนึ่งในประเด็นสำคัญที่นำไปสู่การเกิดขึ้นของ OLAP - ผลผลิตและประสิทธิภาพ ลองจินตนาการว่าจะเกิดอะไรขึ้นเมื่อนักวิเคราะห์ต้องการรับข้อมูล แต่ไม่มีเครื่องมือ OLAP ในองค์กร นักวิเคราะห์โดยอิสระ (ซึ่งไม่น่าเป็นไปได้) หรือด้วยความช่วยเหลือของโปรแกรมเมอร์ทำการสืบค้น SQL ที่เหมาะสมและรับข้อมูลที่น่าสนใจในรูปแบบของรายงานหรือส่งออกไปยังสเปรดชีต ปัญหามากมายเกิดขึ้นในกรณีนี้ ประการแรกนักวิเคราะห์ถูกบังคับให้ทำอย่างอื่นนอกเหนือจากงานของเขา (การเขียนโปรแกรม SQL) หรือรอให้โปรแกรมเมอร์ทำงานแทนเขา - ทั้งหมดนี้มีผลกระทบด้านลบต่อผลิตภาพแรงงานการเพิ่มพายุหัวใจวายและอัตราโรคหลอดเลือดสมองและอื่น ๆ . ประการที่สองตามกฎแล้วรายงานหรือตารางเดียวไม่ได้ช่วยยักษ์ใหญ่แห่งความคิดและบิดาแห่งการวิเคราะห์ของรัสเซีย - และขั้นตอนทั้งหมดจะต้องทำซ้ำครั้งแล้วครั้งเล่า ประการที่สามตามที่เราทราบแล้วนักวิเคราะห์ไม่ถามเกี่ยวกับเรื่องเล็ก ๆ น้อย ๆ - พวกเขาต้องการทุกสิ่งในคราวเดียว ซึ่งหมายความว่า (แม้ว่าเทคโนโลยีจะก้าวหน้าอย่างก้าวกระโดด) ที่เซิร์ฟเวอร์ DBMS เชิงสัมพันธ์ขององค์กรที่นักวิเคราะห์เข้าถึงสามารถคิดอย่างลึกซึ้งและเป็นเวลานานโดยบล็อกธุรกรรมอื่น ๆ

    แนวคิดของ OLAP ปรากฏขึ้นอย่างชัดเจนเพื่อแก้ไขปัญหาดังกล่าว คิวบ์ OLAP ถือเป็นรายงานเมตาโดยพื้นฐานแล้ว ด้วยการตัดรายงานเมตาดาต้า (นั่นคือคิวบ์) ตามมิติข้อมูล นักวิเคราะห์จะได้รับรายงานสองมิติ "ธรรมดา" ที่เขาสนใจจริง ๆ (สิ่งเหล่านี้ไม่จำเป็นต้องรายงานตามความหมายปกติของคำ - เรากำลังพูดถึงโครงสร้างข้อมูลด้วย ฟังก์ชั่นเดียวกัน) ข้อดีของคิวบ์นั้นชัดเจน - ต้องขอข้อมูลจาก DBMS เชิงสัมพันธ์เพียงครั้งเดียวเท่านั้น - เมื่อสร้างคิวบ์ เนื่องจากตามกฎแล้วนักวิเคราะห์จะไม่ทำงานกับข้อมูลที่เสริมและเปลี่ยนแปลงทันที คิวบ์ที่สร้างขึ้นจึงมีความเกี่ยวข้องมาเป็นเวลานาน ด้วยเหตุนี้ ไม่เพียงแต่การหยุดชะงักในการทำงานของเซิร์ฟเวอร์ DBMS เชิงสัมพันธ์จะถูกกำจัดออกไป (ไม่มีการสืบค้นที่มีบรรทัดตอบกลับนับพันล้านบรรทัด) แต่ความเร็วในการเข้าถึงข้อมูลสำหรับนักวิเคราะห์เองก็เพิ่มขึ้นอย่างรวดเร็วเช่นกัน นอกจากนี้ ตามที่ระบุไว้แล้ว ประสิทธิภาพยังได้รับการปรับปรุงด้วยการคำนวณผลรวมย่อยของลำดับชั้นและค่ารวมอื่น ๆ ในขณะที่สร้างคิวบ์ นั่นคือ หากในตอนแรกข้อมูลของเรามีข้อมูลเกี่ยวกับรายได้รายวันสำหรับผลิตภัณฑ์เฉพาะในร้านค้าเดียว จากนั้นเมื่อสร้างคิวบ์ แอปพลิเคชัน OLAP จะคำนวณผลรวมสำหรับระดับต่างๆ ของลำดับชั้น (สัปดาห์และเดือน เมือง และประเทศ)

    แน่นอนว่าคุณต้องจ่ายเงินเพื่อเพิ่มผลผลิตด้วยวิธีนี้ บางครั้งมีการกล่าวกันว่าโครงสร้างข้อมูลเพียงแค่ "ระเบิด" - OLAP cube สามารถใช้พื้นที่มากกว่าข้อมูลดั้งเดิมหลายสิบหรือหลายร้อยเท่า

    ตอบคำถาม:

      เกิดอะไรขึ้น ลูกบาศก์ โอแลป?

      เกิดอะไรขึ้น แท็ก การวัดเฉพาะ? ยกตัวอย่าง.

      ได้ไหม มาตรการ ในคิวบ์ OLAP มีค่าที่ไม่ใช่ตัวเลข

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

    คลังข้อมูลคืออะไร?

    โดยปกติ - สถานที่ที่รวบรวมข้อมูลมูลค่าการวิเคราะห์ทั้งหมด ข้อกำหนดสำหรับร้านค้าดังกล่าวสอดคล้องกับคำจำกัดความคลาสสิกของ OLAP และจะอธิบายไว้ด้านล่าง

    บางครั้งคลังสินค้ามีเป้าหมายอื่น - การรวมข้อมูลองค์กรทั้งหมด เพื่อรักษาความสมบูรณ์และความเกี่ยวข้องของข้อมูลภายในระบบข้อมูลทั้งหมด ที่. พื้นที่เก็บข้อมูลไม่เพียงสะสมเฉพาะการวิเคราะห์เท่านั้น แต่ยังมีข้อมูลเกือบทั้งหมด และสามารถจัดเตรียมไว้ในรูปแบบของไดเร็กทอรีกลับไปยังระบบอื่น ๆ

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

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

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

    สถานที่จัดเก็บถูกสร้างขึ้นอย่างไร?

    อีทีแอล– แนวคิดพื้นฐาน: สามขั้นตอน:
    • การสกัด – การดึงข้อมูลจากแหล่งภายนอกในรูปแบบที่เข้าใจได้
    • การแปลง – การแปลงโครงสร้างของแหล่งข้อมูลให้เป็นโครงสร้างที่สะดวกสำหรับการสร้างระบบการวิเคราะห์
    มาเพิ่มอีกหนึ่งขั้นตอน - การล้างข้อมูล ( การทำความสะอาด) – กระบวนการกรองข้อมูลที่ไม่เกี่ยวข้องหรือแก้ไขข้อมูลที่ผิดพลาดออกตามวิธีการทางสถิติหรือของผู้เชี่ยวชาญ เพื่อไม่ให้มีการสร้างรายงานเช่น “ยอดขายปี 2554” ในภายหลัง

    กลับมาที่การวิเคราะห์กันดีกว่า

    การวิเคราะห์คืออะไรและเหตุใดจึงจำเป็น?

    การวิเคราะห์คือการศึกษาข้อมูลเพื่อวัตถุประสงค์ในการตัดสินใจ ระบบวิเคราะห์เรียกว่าระบบสนับสนุนการตัดสินใจ ( ดีเอสเอส).

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

    โอแลป

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

    เทคโนโลยีบูรณาการ การวิเคราะห์หลายตัวแปรข้อมูลเรียกว่า OLAP (On-Line Analytical Processing) OLAP เป็นองค์ประกอบสำคัญของคลังข้อมูลแบบดั้งเดิม แนวคิดของ OLAP ได้รับการอธิบายในปี 1993 โดย Edgar Codd นักวิจัยฐานข้อมูลที่มีชื่อเสียงและเป็นผู้เขียนแบบจำลองข้อมูลเชิงสัมพันธ์ ในปี 1995 ตามข้อกำหนดที่กำหนดโดย Codd จึงมีการกำหนดสิ่งที่เรียกว่าการทดสอบ FASMI (การวิเคราะห์ข้อมูลหลายมิติที่ใช้ร่วมกันอย่างรวดเร็ว) รวมถึงข้อกำหนดต่อไปนี้สำหรับการใช้งานสำหรับการวิเคราะห์หลายมิติ:

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

    ก่อนที่เราจะพูดถึงการใช้งาน OLAP ต่างๆ เรามาดูกันดีกว่าว่าคิวบ์ใดบ้างจากมุมมองเชิงตรรกะ

    แนวคิดหลายมิติ

    เพื่ออธิบายหลักการของ OLAP เราจะใช้ฐานข้อมูล Northwind ซึ่งรวมอยู่ใน Microsoft SQL Server และเป็นฐานข้อมูลทั่วไปที่เก็บข้อมูลการค้าของบริษัทจำหน่ายอาหารขายส่ง ข้อมูลดังกล่าวรวมถึงข้อมูลเกี่ยวกับซัพพลายเออร์ ลูกค้า รายการสินค้าที่จัดหาและหมวดหมู่ ข้อมูลการสั่งซื้อและสินค้าที่สั่ง รายชื่อพนักงานของบริษัท

    คิวบ์

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

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

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

    หากเราต้องการได้รับข้อมูลเดียวกัน แต่รวมถึงปีด้วย การเปลี่ยนแปลงอื่นจะปรากฏขึ้น เช่น ชุดข้อมูลจะกลายเป็นสามมิติ (เทนเซอร์ลำดับที่ 3 แบบมีเงื่อนไขหรือ "คิวบ์" สามมิติ)

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

    นี่คือวิธีที่เรามาถึงแนวคิดเรื่องความเป็นหลายมิติและรูปลักษณ์ของมัน - ลูกบาศก์หลายมิติ. เราจะเรียกโต๊ะแบบนี้ว่า” ตารางข้อเท็จจริง" ขนาดหรือแกนลูกบาศก์ ( ขนาด) เป็นคุณลักษณะที่มีพิกัดแสดงโดยค่าแต่ละค่าของคุณลักษณะเหล่านี้ที่มีอยู่ในตารางข้อเท็จจริง เหล่านั้น. ตัวอย่างเช่นหากข้อมูลเกี่ยวกับคำสั่งซื้อยังคงอยู่ในระบบตั้งแต่ปี 2546 ถึง 2553 แกนปีนี้จะประกอบด้วย 8 จุดที่สอดคล้องกัน หากคำสั่งซื้อมาจากสามประเทศ แกนประเทศจะมี 3 จุด เป็นต้น ไม่ว่าจะมีกี่ประเทศรวมอยู่ในไดเรกทอรีประเทศก็ตาม จุดบนแกนเรียกว่า “สมาชิก” ( สมาชิก).

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

    สมาชิกของมิติหรือแกนสามารถรวมกันได้หนึ่งลำดับชั้นขึ้นไป ( ลำดับชั้น). ให้เราอธิบายว่าลำดับชั้นคืออะไรด้วยตัวอย่าง: เมืองจากคำสั่งซื้อสามารถรวมกันเป็นเขต เขตเป็นภูมิภาค ภูมิภาคของประเทศ ประเทศเป็นทวีป หรือหน่วยงานอื่น ๆ เหล่านั้น. มีโครงสร้างแบบลำดับชั้น - ทวีป- ประเทศ-ภูมิภาค-เขต-เมือง– 5 ระดับ ( ระดับ). สำหรับภูมิภาค ข้อมูลจะถูกรวบรวมสำหรับเมืองทั้งหมดที่รวมอยู่ในนั้น สำหรับภูมิภาคทั่วทุกเขตที่มีทุกเมือง ฯลฯ เหตุใดเราจึงต้องมีหลายลำดับชั้น ตัวอย่างเช่น บนแกนวันที่ของคำสั่งซื้อ เราอาจต้องการจัดกลุ่มจุด (เช่น วัน) ออกเป็นลำดับชั้น ปี-เดือน-วันหรือโดย ปี-สัปดาห์-วัน: ในทั้งสองกรณีมีสามระดับ แน่นอนว่ากลุ่มสัปดาห์และเดือนจะแตกต่างกัน นอกจากนี้ยังมีลำดับชั้นซึ่งเป็นจำนวนระดับที่ไม่ได้กำหนดไว้และขึ้นอยู่กับข้อมูล ตัวอย่างเช่น โฟลเดอร์ในดิสก์คอมพิวเตอร์

    การรวมข้อมูลสามารถเกิดขึ้นได้โดยใช้ฟังก์ชันมาตรฐานหลายฟังก์ชัน: ผลรวม ต่ำสุด สูงสุด ค่าเฉลี่ย การนับ

    เอ็มดีเอ็กซ์

    มาดูภาษาคิวรีในข้อมูลหลายมิติกันดีกว่า
    ภาษา SQL เดิมไม่ได้ออกแบบมาสำหรับโปรแกรมเมอร์ แต่สำหรับนักวิเคราะห์ (ดังนั้นจึงมีไวยากรณ์ที่คล้ายกับภาษาธรรมชาติ) แต่เมื่อเวลาผ่านไป มันก็ซับซ้อนมากขึ้นเรื่อยๆ และตอนนี้มีนักวิเคราะห์เพียงไม่กี่คนที่รู้วิธีใช้งานให้ดี มันได้กลายเป็นเครื่องมือสำหรับโปรแกรมเมอร์ ภาษาคิวรี MDX ซึ่งมีข่าวลือว่าได้รับการพัฒนาโดย Mosha (หรือ Mosha) Posumansky อดีตเพื่อนร่วมชาติของเราใน Microsoft นั้น ในตอนแรกตั้งใจที่จะมุ่งเป้าไปที่นักวิเคราะห์ แต่แนวคิดและไวยากรณ์ของมัน (ซึ่งชวนให้นึกถึง SQL อย่างคลุมเครือ และ เปล่าประโยชน์โดยสิ้นเชิงนั่นคือ เพราะมันทำให้สับสนเท่านั้น) ซับซ้อนกว่า SQL ด้วยซ้ำ อย่างไรก็ตามพื้นฐานของมันยังคงเข้าใจได้ง่าย

    เราจะดูรายละเอียดเพราะมันเป็นภาษาเดียวที่ได้รับสถานะมาตรฐานภายในกรอบของมาตรฐานโปรโตคอล XMLA ทั่วไป และประการที่สองเนื่องจากมีการใช้งานโอเพ่นซอร์สในรูปแบบของโครงการ Mondrian จากบริษัท เพนทาโฮ. ระบบการวิเคราะห์ OLAP อื่นๆ (เช่น ตัวเลือก Oracle OLAP) มักจะใช้ส่วนขยายไวยากรณ์ SQL ของตัวเอง อย่างไรก็ตาม ระบบยังประกาศการรองรับ MDX อีกด้วย

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

    ใน OLAP คุณสามารถสร้างลูกบาศก์หลายมิติได้ ชิ้น- เช่น. เมื่อข้อมูลถูกกรองตามแกนตั้งแต่หนึ่งแกนขึ้นไป หรือ การคาดการณ์– เมื่อลูกบาศก์ “ยุบ” ตามแกนตั้งแต่หนึ่งแกนขึ้นไป เพื่อรวบรวมข้อมูล ตัวอย่างเช่น ตัวอย่างแรกของเราที่มีจำนวนคำสั่งซื้อจากประเทศต่างๆ คือการฉายภาพลูกบาศก์ลงบนแกนประเทศ แบบสอบถาม MDX สำหรับกรณีนี้จะมีลักษณะดังนี้:

    เลือก ...เด็กในแถวจาก
    อะไรนี่?

    เลือกคำสำคัญและรวมอยู่ในไวยากรณ์เพื่อความงามเท่านั้น
    เป็นชื่อของแกน ชื่อที่ถูกต้องทั้งหมดใน MDX จะเขียนด้วยวงเล็บเหลี่ยม
    เป็นชื่อของลำดับชั้น ในกรณีของเรา นี่คือลำดับชั้นของประเทศ-เมือง
    – นี่คือชื่อของสมาชิกแกนในระดับแรกของลำดับชั้น (เช่น ประเทศ) ทั้งหมด – นี่คือสมาชิกเมตาที่รวมสมาชิกทั้งหมดของแกนเข้าด้วยกัน มี meta-term ดังกล่าวในแต่ละแกน เช่น ในแกนปีจะมี "ทุกปี" เป็นต้น
    เด็กเป็นฟังก์ชันสมาชิก สมาชิกแต่ละคนมีฟังก์ชั่นหลายอย่างให้เลือก เช่น ผู้ปกครอง. ระดับ ลำดับชั้น ส่งคืนบรรพบุรุษตามลำดับ ระดับในลำดับชั้น และลำดับชั้นที่สมาชิกอยู่ในกรณีนี้ Children - ส่งกลับชุดของสมาชิกระดับล่างของสมาชิกรายนี้ เหล่านั้น. ในกรณีของเรา – ประเทศต่างๆ
    บนแถว– ระบุวิธีการจัดเรียงข้อมูลนี้ในตารางผลลัพธ์ ในกรณีนี้ - ในส่วนหัวของบรรทัด ค่าที่เป็นไปได้ที่นี่: ในคอลัมน์, บนหน้า, บนย่อหน้า ฯลฯ นอกจากนี้ยังสามารถระบุด้วยดัชนีได้โดยเริ่มจาก 0
    จาก– นี่เป็นข้อบ่งชี้ของคิวบ์ที่ใช้ทำการเลือก

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

    เลือก ( ..., ... ) ในแถวจาก
    วงเล็บปีกกาในกรณีนี้คือการประกาศชุด ( ชุด). ชุดคือรายการการแจงนับสมาชิก จากแกนเดียว.

    ตอนนี้เรามาเขียนแบบสอบถามสำหรับตัวอย่างที่สองของเรา – ส่งออกในบริบทของผู้จัดส่ง:

    เลือก ...เด็ก ๆ ในแถว .สมาชิกในคอลัมน์จาก
    เพิ่มที่นี่:
    – แกน;
    .สมาชิก– ฟังก์ชันแกนที่ส่งคืนเงื่อนไขทั้งหมดบนฟังก์ชันนั้น ลำดับชั้นและระดับมีหน้าที่เหมือนกัน เพราะ แกนนี้มีเพียงลำดับชั้นเดียวเท่านั้น ดังนั้นจึงสามารถละเว้นการบ่งชี้ได้ เนื่องจาก ระดับและลำดับชั้นก็เหมือนกัน จากนั้นคุณจึงสามารถแสดงสมาชิกทั้งหมดในรายการเดียวได้

    ฉันคิดว่ามันชัดเจนแล้วว่าเราจะดำเนินการต่อด้วยตัวอย่างที่สามของเราพร้อมรายละเอียดตามปีได้อย่างไร แต่อย่าเจาะลึกตามปีจะดีกว่า แต่กรองข้อมูล – เช่น สร้างชิ้น เมื่อต้องการทำเช่นนี้ เราจะเขียนแบบสอบถามต่อไปนี้:

    เลือก ..เด็ก ๆ ในแถว .สมาชิกในคอลัมน์จากที่ (.)
    ตัวกรองอยู่ที่ไหนที่นี่?

    ที่ไหน- คำสำคัญ
    เป็นสมาชิกคนหนึ่งของลำดับชั้น . ชื่อเต็ม รวมถึงคำศัพท์ทั้งหมดจะเป็น: .. , แต่เพราะว่า เนื่องจากชื่อของสมาชิกรายนี้ไม่ซ้ำกันภายในแกน จึงสามารถละเว้นการชี้แจงชื่อระดับกลางทั้งหมดได้

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

    tuple ถูกใช้มากกว่าแค่การกรอง สิ่งอันดับยังสามารถอยู่ในแถว/คอลัมน์/ส่วนหัวของหน้า ฯลฯ

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

    เลือก crossjoin(...Children, ..Children) ในแถว .Members ในคอลัมน์จากที่ (.)
    ครอสจอยน์เป็นฟังก์ชัน มันจะส่งคืนชุดสิ่งอันดับ (ใช่ ชุดสามารถประกอบด้วยสิ่งอันดับ!) ซึ่งเป็นผลลัพธ์จากผลคูณคาร์ทีเซียนของสองชุด เหล่านั้น. ชุดผลลัพธ์จะประกอบด้วยชุดประเทศและปีที่เป็นไปได้ทั้งหมด ส่วนหัวของแถวจะมีค่าคู่หนึ่ง: ประเทศ-ปี.

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

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

    สมาชิกที่คำนวณแล้ว

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

    กับสมาชิก. เป็น '.CurrentMember / ..', FORMAT_STRING='0.00%' เลือก ...เด็ก ๆ ในแถวจากที่ไหน
    การคำนวณเกิดขึ้นในบริบทของเซลล์ซึ่งทราบคุณลักษณะพิกัดทั้งหมดของเซลล์ สามารถรับพิกัดที่สอดคล้องกัน (สมาชิก) ได้โดยฟังก์ชัน CurrentMember สำหรับแต่ละแกนลูกบาศก์ ที่นี่เราต้องเข้าใจว่าการแสดงออก .สมาชิกปัจจุบัน/..’ ไม่แบ่งพจน์หนึ่งด้วยอีกพจน์หนึ่ง แต่จะแบ่งแยก ข้อมูลรวมที่เกี่ยวข้องชิ้นลูกบาศก์! เหล่านั้น. ส่วนสำหรับอาณาเขตปัจจุบันจะถูกแบ่งออกเป็นส่วนสำหรับอาณาเขตทั้งหมด เช่น มูลค่ารวมของคำสั่งซื้อทั้งหมด FORMAT_STRING – กำหนดรูปแบบสำหรับการแสดงค่า เช่น %

    อีกตัวอย่างหนึ่งของสมาชิกจากการคำนวณ แต่บนแกนปี:

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

    แสดงใน ROLAP

    ระบบ OLAP เป็นวิธีหนึ่งหรืออีกทางหนึ่งโดยอิงตามการจัดเก็บข้อมูลและระบบองค์กรบางประเภท เมื่อเราพูดถึง RDBMS เราพูดถึง ROLAP (เราจะออกจาก MOLAP และ HOLAP ไว้สำหรับการศึกษาอิสระ) ROLAP – OLAP บนฐานข้อมูลเชิงสัมพันธ์ เช่น อธิบายไว้ในรูปแบบของตารางสองมิติธรรมดา ระบบ ROLAP แปลงการสืบค้น MDX เป็น SQL ปัญหาคอมพิวเตอร์หลักสำหรับฐานข้อมูลคือการรวมที่รวดเร็ว เพื่อให้การรวมเร็วขึ้น ข้อมูลในฐานข้อมูลมักจะถูกทำให้เป็นมาตรฐานอย่างมาก เช่น ไม่ได้รับการจัดเก็บอย่างมีประสิทธิภาพในแง่ของพื้นที่ดิสก์ที่ใช้และการตรวจสอบความสมบูรณ์ของฐานข้อมูล นอกจากนี้ ยังมีตารางเสริมที่จัดเก็บข้อมูลที่รวบรวมไว้บางส่วนอีกด้วย ดังนั้นสำหรับ OLAP มักจะสร้างสคีมาฐานข้อมูลแยกต่างหาก ซึ่งจะจำลองโครงสร้างของฐานข้อมูลธุรกรรมดั้งเดิมเพียงบางส่วนในแง่ของไดเร็กทอรี

    การนำทาง

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

    เจาะ– นี่คือการรายงานรายละเอียดโดยการลดระดับการรวมตัวของข้อมูล รวมกับการกรองตามแกนอื่นๆ (หรือหลายแกน) การเจาะมีหลายประเภท:

    • เจาะลงไป– การกรองตามหนึ่งในแกนต้นทางของรายงานพร้อมการแสดงข้อมูลโดยละเอียดเกี่ยวกับผู้สืบทอดภายในลำดับชั้นของสมาชิกการกรองที่เลือก ตัวอย่างเช่น หากมีรายงานการกระจายคำสั่งซื้อแยกตามประเทศและปี การคลิกที่ปี 2550 จะแสดงรายงานแยกตามประเทศและเดือนเดียวกันของปี 2550
    • เจาะด้าน– การกรองภายใต้แกนที่เลือกตั้งแต่หนึ่งแกนขึ้นไป และลบการรวมกลุ่มตามแกนอื่น ๆ หนึ่งหรือหลายแกน ตัวอย่างเช่น หากมีรายงานเกี่ยวกับการกระจายคำสั่งซื้อโดยแยกตามประเทศและปี การคลิกที่ปี 2550 จะแสดงรายงานอื่นที่แยกย่อย เช่น ตามประเทศและซัพพลายเออร์ โดยจะมีการกรองภายในปี 2550
    • เจาะราง– ลบการรวมกลุ่มตามแกนทั้งหมดและการกรองพร้อมกัน – ช่วยให้คุณเห็นแหล่งข้อมูลจากตารางข้อเท็จจริงที่ได้รับค่าในรายงาน เหล่านั้น. เมื่อคุณคลิกที่ค่าของเซลล์ รายงานจะแสดงพร้อมกับคำสั่งซื้อทั้งหมดที่ให้จำนวนเงินนี้ การเจาะลึกเข้าไปใน "ส่วนลึก" ของลูกบาศก์ทันที
    นั่นคือทั้งหมดที่ ตอนนี้ หากคุณตัดสินใจที่จะอุทิศตนให้กับ Business Intelligence และ OLAP ก็ถึงเวลาที่จะเริ่มอ่านวรรณกรรมที่จริงจัง

    แท็ก: เพิ่มแท็ก

    หน้าแรก ข้อกำหนด บทความ หลักสูตร ประสบการณ์บริษัท บล็อก เคล็ดลับ ดาวน์โหลด พันธมิตร ติดต่อ โปรโมชั่น

    บทความ > ระบบอัตโนมัติของการบัญชีงบประมาณและการจัดการ >

    Alexander Karpov ผู้จัดการโครงการ bud-tech.ru ผู้แต่งหนังสือชุด "การจัดทำงบประมาณเชิงปฏิบัติ 100%" และหนังสือ "องค์กรและระบบอัตโนมัติของการบัญชีการจัดการ"

    www.bud-tech.ru

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

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

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

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

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

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

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

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

    ตัวอย่างเช่น สามารถรวบรวมงบประมาณการขายได้โดยใช้การวิเคราะห์เดียว (ไดเร็กทอรี) ตัวอย่างของงบประมาณการขายที่สร้างขึ้นจากการวิเคราะห์ "ผลิตภัณฑ์" รายการเดียวแสดงอยู่ที่ รูปที่ 1.

    ข้าว. 1. ตัวอย่างของงบประมาณการขายที่สร้างขึ้นบนพื้นฐานของ "ผลิตภัณฑ์" การวิเคราะห์หนึ่งใน OLAP-CUBE ของชุดซอฟต์แวร์ INTEGRAL

    งบประมาณการขายเดียวกันสามารถรวบรวมได้โดยใช้การวิเคราะห์สองรายการ (ไดเร็กทอรี) ตัวอย่างของงบประมาณการขายที่สร้างขึ้นบนพื้นฐานของการวิเคราะห์ "ผลิตภัณฑ์" และ "สาขา" สองรายการแสดงอยู่ที่ รูปที่ 2.

    ข้าว. 2. ตัวอย่างของงบประมาณการขายที่สร้างขึ้นบนพื้นฐานของการวิเคราะห์ "ผลิตภัณฑ์" และ "สาขา" สองรายการใน OLAP-CUBE ของชุดซอฟต์แวร์ INTEGRAL

    .

    หากจำเป็นต้องสร้างรายงานที่มีรายละเอียดมากขึ้น คุณสามารถรวบรวมงบประมาณการขายเดียวกันได้โดยใช้การวิเคราะห์สามรายการ (ไดเร็กทอรี) ตัวอย่างของงบประมาณการขายที่สร้างขึ้นจากการวิเคราะห์สามรายการ ได้แก่ "ผลิตภัณฑ์" "สาขา" และ "ช่องทางการขาย" แสดงอยู่ที่ รูปที่ 3.

    ข้าว. 3. ตัวอย่างของงบประมาณการขายที่สร้างขึ้นบนพื้นฐานของการวิเคราะห์สามรายการ "ผลิตภัณฑ์", "สาขา" และ "ช่องทางการขาย" ใน OLAP-CUBE ของชุดซอฟต์แวร์ INTEGRAL

    ควรจำไว้ว่า CUBE ที่ใช้สร้างรายงานช่วยให้คุณสามารถแสดงข้อมูลในลำดับที่แตกต่างกันได้ บน รูปที่ 3งบประมาณการขายจะถูก "ขยาย" ตามผลิตภัณฑ์ก่อน จากนั้นจึงตามสาขา และตามช่องทางการขาย

    ข้อมูลเดียวกันสามารถนำเสนอในลำดับที่ต่างกันได้ บน รูปที่ 4งบประมาณการขายเดียวกันจะถูก "คลี่คลาย" ก่อนตามผลิตภัณฑ์ จากนั้นตามช่องทางการขาย และจากนั้นตามสาขา

    ข้าว. 4. ตัวอย่างของงบประมาณการขายที่สร้างขึ้นบนพื้นฐานของการวิเคราะห์สามรายการ "ผลิตภัณฑ์", "ช่องทางการจัดจำหน่าย" และ "สาขา" ใน OLAP-CUBE ของชุดซอฟต์แวร์ INTEGRAL

    บน รูปที่ 5งบประมาณการขายเดียวกันจะถูก "คลี่คลาย" ก่อนตามสาขา จากนั้นตามผลิตภัณฑ์ และจากนั้นตามช่องทางการขาย

    ข้าว. 5. ตัวอย่างของงบประมาณการขายที่สร้างขึ้นบนพื้นฐานของการวิเคราะห์สามรายการ "สาขา", "ผลิตภัณฑ์" และ "ช่องทางการขาย" ในแพ็คเกจซอฟต์แวร์ OLAP-CUBE "INTEGRAL"

    จริงๆแล้วนั่นไม่ใช่ทั้งหมด ตัวเลือกที่เป็นไปได้การถอนงบประมาณการขาย

    นอกจากนี้คุณต้องใส่ใจกับข้อเท็จจริงที่ว่า KUB อนุญาตให้คุณทำงานกับโครงสร้างลำดับชั้นของไดเร็กทอรี ในตัวอย่างที่นำเสนอ ไดเร็กทอรีแบบลำดับชั้นคือ "ผลิตภัณฑ์" และ "ช่องทางการขาย"

    จากมุมมองของผู้ใช้เขาเป็น ในตัวอย่างนี้ได้รับรายงานการจัดการหลายฉบับ (ดู ข้าว. 1-5) และจากมุมมองของการตั้งค่าในผลิตภัณฑ์ซอฟต์แวร์ นี่คือรายงานเดียว เพียงใช้ CUBE คุณสามารถดูได้หลายวิธี

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

    จำเป็นต้องพูดถึงคุณสมบัติเพิ่มเติมหลายประการของ OLAP-CUBE

    ใน OLAP-CUBE แบบลำดับชั้นหลายมิติ มีหลายมิติ: ประเภทแถว วันที่ แถว ไดเร็กทอรี 1 ไดเร็กทอรี 2 และไดเร็กทอรี 3 (ดู ข้าว. 6). โดยปกติแล้ว รายงานจะแสดงปุ่มพร้อมไดเร็กทอรีมากเท่ากับที่มีอยู่ในบรรทัดงบประมาณที่มีจำนวนไดเร็กทอรีสูงสุด หากไม่มีสมุดอ้างอิงเพียงเล่มเดียวในบรรทัดงบประมาณใดๆ รายงานจะไม่มีปุ่มเดียวกับสมุดอ้างอิง

    ข้าว. 6. การวัด OLAP-CUBE ของชุดซอฟต์แวร์ INTEGRAL

    ในตอนแรก OLAP-CUBE ถูกสร้างขึ้นในทุกมิติ ตามค่าเริ่มต้น เมื่อสร้างรายงานครั้งแรก มิติข้อมูลจะอยู่ในพื้นที่ที่แสดงไว้ทุกประการ รูปที่ 6. นั่นคือมิติเช่น "วันที่" ตั้งอยู่ในพื้นที่ของมิติแนวตั้ง (มิติในพื้นที่คอลัมน์) มิติ "แถว", "ไดเร็กทอรี 1", "ไดเร็กทอรี 2" และ "ไดเร็กทอรี 3" - ใน พื้นที่ขนาดแนวนอน (ขนาดในแถวพื้นที่) และขนาด “ประเภทแถว” อยู่ในพื้นที่ขนาด “ไม่ขยาย” (ขนาดในพื้นที่หน้า) หากมิติข้อมูลอยู่ในพื้นที่สุดท้าย ข้อมูลในรายงานจะไม่ "ขยาย" ในมิติข้อมูลนั้น

    แต่ละมิติเหล่านี้สามารถวางไว้ในพื้นที่ใดก็ได้จากทั้งสามส่วน เมื่อถ่ายโอนการวัดแล้ว รายงานจะถูกสร้างขึ้นใหม่ทันทีเพื่อให้ตรงกับการกำหนดค่าการวัดใหม่ ตัวอย่างเช่น คุณสามารถสลับวันที่และบรรทัดกับสมุดอ้างอิงได้ หรือคุณสามารถย้ายหนังสืออ้างอิงเล่มหนึ่งไปยังพื้นที่การวัดแนวตั้งได้ (ดู ข้าว. 7). กล่าวอีกนัยหนึ่ง คุณสามารถ "บิด" รายงานใน OLAP-CUBE และเลือกตัวเลือกเอาต์พุตรายงานที่สะดวกที่สุดสำหรับผู้ใช้

    ข้าว. 7. ตัวอย่างการสร้างรายงานขึ้นใหม่หลังจากเปลี่ยนแปลงการกำหนดค่าการวัดของชุดซอฟต์แวร์ INTEGRAL

    การกำหนดค่าการวัดสามารถเปลี่ยนแปลงได้ในรูปแบบ CUBE หลักหรือในตัวแก้ไขแผนที่การเปลี่ยนแปลง (ดู ข้าว. 8). ในเครื่องมือแก้ไขนี้ คุณยังสามารถลากและวางการวัดจากพื้นที่หนึ่งไปยังอีกพื้นที่หนึ่งได้ด้วยเมาส์ นอกจากนี้คุณยังสามารถสลับการวัดในพื้นที่เดียวได้อีกด้วย

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

    ข้าว. 8. ตัวแก้ไขแผนที่การวัดของชุดซอฟต์แวร์ INTEGRAL

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

    ข้าว. 9. ตัวอย่างการแก้ไขไดเรกทอรี 1 ผลิตภัณฑ์และบริการในแพ็คเกจซอฟต์แวร์ INTEGRAL

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

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

    ข้าว. 10. ตัวอย่างผลลัพธ์ในรายงานของกลุ่มผลิตภัณฑ์เดียว (โฟลเดอร์) ในแพ็คเกจซอฟต์แวร์ INTEGRAL

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

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

    ในความเป็นจริง การเปลี่ยนแปลงดังกล่าวทั้งหมดอาจเกิดขึ้นตั้งแต่แรกเมื่อตั้งค่ารายการ

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

    บันทึก: หัวข้อของบทความนี้จะกล่าวถึงรายละเอียดเพิ่มเติมในเวิร์คช็อป "การจัดการงบประมาณขององค์กร"และ “องค์กรและระบบอัตโนมัติของการบัญชีการจัดการ”จัดทำโดย Alexander Karpov ผู้เขียนบทความนี้

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

    ข้อมูลทั่วไป

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

    รับข้อมูลและอัปเดตความแตกต่าง

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

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

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

    ข้อมูลที่ไม่ใช่ OLAP สามารถส่งคืนไปยัง Microsoft Excel เป็นช่วงข้อมูลภายนอกหรือรายงาน PivotTable หรือ PivotChart ข้อมูล OLAP สามารถส่งคืนไปยัง Excel ในรูปแบบรายงาน PivotTable หรือ PivotChart เท่านั้น

    คำขอพื้นหลัง

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

    แบบสอบถามที่มีพารามิเตอร์

    รายงาน PivotTable ที่ยึดตามแหล่งข้อมูล OLAP ไม่สนับสนุนการใช้คิวรีพารามิเตอร์

    การเพิ่มประสิทธิภาพหน่วยความจำ

    กล่องกาเครื่องหมาย ปรับหน่วยความจำให้เหมาะสม ในกล่องโต้ตอบ ตัวเลือก PivotTable จะไม่พร้อมใช้งาน เมื่อรายงาน PivotTable ยึดตามแหล่งข้อมูล OLAP

    ตัวเลือกฟิลด์หน้า

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

    ความแตกต่างในการคำนวณ

    ตัวเลือกฟิลด์หน้า

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

    ไม่สามารถสร้างเขตข้อมูลจากการคำนวณหรือรายการจากการคำนวณใน PivotTable โดยยึดตามแหล่งข้อมูล OLAP

    เขตข้อมูลจากการคำนวณและรายการจากการคำนวณ

    เมื่อทำงานกับผลรวมย่อยในรายงาน PivotTable ที่ยึดตามแหล่งข้อมูล OLAP จะมีข้อจำกัดต่อไปนี้

    คุณไม่สามารถเปลี่ยนฟังก์ชันผลรวมสำหรับผลรวมย่อยในรายงาน PivotTable

    OLAP-CUBE (การรายงานการจัดการแบบไดนามิก)

    ไม่สามารถแสดงผลรวมย่อยสำหรับเขตข้อมูลคอลัมน์ภายในหรือภายในในรายงาน PivotTable

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

    ผลรวมย่อย

    ตัวเลือก ผลรวม * ในกล่องโต้ตอบ ตัวเลือก PivotTable สามารถใช้ได้เฉพาะในรายงาน PivotTable ที่ยึดตามแหล่งข้อมูล OLAP เท่านั้น ตัวเลือกนี้จะทำเครื่องหมายผลรวมย่อยและผลรวมทั้งหมดด้วยเครื่องหมายดอกจัน (*) เพื่อระบุว่าค่าเหล่านี้มีทั้งรายการที่ซ่อนอยู่และรายการที่แสดง

    ความแตกต่างของเค้าโครงและการออกแบบ

    ขนาดและมาตรการ

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

    ไม่สามารถวางเขตข้อมูลที่คุณต้องการย้ายในพื้นที่ของ PivotTable นี้

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

    ขนาดและมาตรการ

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

    การจัดกลุ่มและการแยกกลุ่มองค์ประกอบ

    ใน Excel 2000 คุณไม่สามารถจัดกลุ่มรายการในรายงาน PivotTable ที่ยึดตามแหล่งข้อมูล OLAP ได้

    การเปลี่ยนชื่อฟิลด์

    รายงาน PivotTable ที่ยึดตามข้อมูลต้นฉบับของ OLAP ช่วยให้คุณสามารถแสดงข้อมูลระดับต่ำสุดที่มีอยู่บนเซิร์ฟเวอร์ OLAP ได้

    การจัดกลุ่มและการแยกกลุ่มองค์ประกอบ

    สำหรับแหล่งข้อมูลที่ไม่ใช่ OLAP รายการในรายงาน PivotTable ใหม่จะปรากฏขึ้นก่อนโดยเรียงลำดับจากน้อยไปหามากตามชื่อรายการ

    รายละเอียด

    คำสั่งแสดงเพจไม่พร้อมใช้งานในรายงาน PivotTable ที่ยึดตามแหล่งข้อมูล OLAP

    แสดงรายการที่ไม่มีข้อมูล

    ตัวเลือกแสดงรายการโดยไม่มีข้อมูลในกล่องโต้ตอบเขตข้อมูล PivotTable จะไม่พร้อมใช้งานในรายงาน PivotTable ที่ยึดตามแหล่งข้อมูล OLAP

    ด้านล่างนี้เป็นคำถามในหัวข้อเทคโนโลยีสารสนเทศในการบริหารจัดการ MFPU/MFPA “Synergy”

    ... คือระบบอัตโนมัติแบบโต้ตอบที่ช่วยในเรื่อง ...

    OLAP ในความหมายแคบของคำนี้ตีความได้ว่า...

    ระบบ OLAP (การประมวลผลการวิเคราะห์ออนไลน์) คือ...

    ระบบ OLTP กลายเป็นสิ่งที่มีประโยชน์น้อยเพราะ...

    ระบบควบคุมอัตโนมัติ (ข้อมูลอัตโนมัติ…

    ในโครงการ MS...

    ในระบบ OLTP การอัพเดตข้อมูลจะเกิดขึ้น...

    แผนภาพที่ออกแบบมาเพื่อวิเคราะห์แผนงานโดยใช้วิธี...

    ระบบสารสนเทศ คือ ชุดขององค์ประกอบที่เชื่อมโยงถึงกัน...

    เทคโนโลยีสารสนเทศคือ...

    การสนับสนุนข้อมูลคือ...

    เทคโนโลยีสารสนเทศมีอิทธิพลต่อการพัฒนาสังคมในด้านต่างๆ ดังนี้...

    การแลกเปลี่ยนข้อมูลในโครงสร้างฝ่ายบริหารขององค์กร...

    ระบบสารสนเทศผู้บริหาร...

    ลักษณะของระบบสารสนเทศ “ขนาดเล็ก” ได้แก่...

    ลักษณะของระบบสารสนเทศระดับ “กลาง” ได้แก่...

    วิธีการประมวลผลข้อมูลคือ...

    หลักการโมดูลาร์ของการสร้างระบบสารสนเทศทางบัญชี...

    รูปแสดงชิ้นส่วนของแผนภาพประเภท... ผลิตในโปร...

    บนไดอะแกรมเครือข่ายใน MS Project งานจากโครงการภายนอก...

    บนไดอะแกรมเครือข่ายใน MS Project งานที่ไม่เกี่ยวข้องกับ...

    บนไดอะแกรมเครือข่ายในโปรแกรม MS Project งานที่ได้รับมอบหมาย...

    บนไดอะแกรมเครือข่ายใน MS Project เป็นงานสรุปที่รวมกัน

    เกี่ยวกับองค์ประกอบและจำนวนของเวิร์กสเตชันอัตโนมัติที่รวมอยู่...

    ศาสตร์แห่งกิจกรรมสารสนเทศ กระบวนการสารสนเทศ และ...

    การจัดระบบสารสนเทศบนเซิร์ฟเวอร์ระยะไกล...

    วัตถุประสงค์หลักของระบบ OLAP คือ...

    วัตถุประสงค์หลักของระบบ ERP คือการทำให้...

    วัตถุประสงค์หลักของระเบียบวิธี MPS คือ...

    ลักษณะสำคัญของระบบ OLAP คือ...

    ระบบย่อยการสนับสนุนทางเทคนิคประกอบด้วย...

    ลำดับขั้นตอนทางเทคโนโลยีสำหรับการปรับเปลี่ยนหลัก...

    เมื่อเชื่อมต่อเครือข่ายคอมพิวเตอร์ส่วนบุคคลในรูปแบบภายในโปร...

    สมัครแล้ว ซอฟต์แวร์คอมพิวเตอร์มีไว้เพื่อ...

    ตัวอย่างวิชาเทคโนโลยีสารสนเทศ ได้แก่ เทคโนโลยี...

    กระบวนการสนับสนุนการตัดสินใจเกี่ยวข้องกับ...

    เครือข่ายระดับองค์กรหรือเครือข่ายองค์กรเป็นเครือข่ายข้อมูล...

    ระบบปัญญาประดิษฐ์คือ...

    ระบบประมวลผลธุรกรรมเป็นระบบที่ออกแบบมาเพื่อ...

    ระบบประมวลผลธุรกรรมสอดคล้องกับ...

    ระบบสนับสนุนการตัดสินใจ – DS...

    วิธีการและเครื่องมือสมัยใหม่สำหรับการวิเคราะห์และวางแผนกระบวนการ...

    การสร้างระบบสารสนเทศอัตโนมัติแบบบูรณาการ...

    ระบบสารสนเทศที่สร้างขึ้นไม่เหมาะสมต่อการใช้งาน...

    ความเฉพาะเจาะจงของระบบข้อมูลสนับสนุนการจัดการปรากฏ...

    การใช้ระบบ OLTP แบบเดิมทำให้คุณสามารถ...

    โครงสร้างระบบสารสนเทศองค์กรนั้น...

    เพื่อเพิ่มความรวดเร็วและลดความซับซ้อนในการทำงานของ HR Manager ที่บริษัท...

    เพื่อเพิ่มความรวดเร็วและลดความซับซ้อนในการทำงานของ HR Manager ที่บริษัท...

    ข้อเท็จจริงที่รับรู้ที่บันทึกไว้ของโลกรอบตัวเป็นตัวแทนของ...

    ห่วงโซ่การดำเนินการที่สะท้อนถึงกระบวนการจัดการที่แม่นยำที่สุด...

    ปัญหาทางเศรษฐกิจที่แก้ไขได้ด้วยการสนทนามีลักษณะ...

    ระบบผู้เชี่ยวชาญได้รับการออกแบบมาเพื่อประมวลผล...

    เป็นการละเมิดความปลอดภัยหรือเกี่ยวข้องกับการรักษาความปลอดภัย...

    OLAP เป็นเรื่องง่าย

    ความมหัศจรรย์อยู่ใกล้ตัว...

    ในระหว่างงานของฉัน ฉันมักจะต้องทำรายงานที่ซับซ้อน ฉันมักจะพยายามค้นหาสิ่งที่เหมือนกันเพื่อรวบรวมให้เรียบง่ายและเป็นสากลยิ่งขึ้น ฉันยังเขียนและตีพิมพ์บทความในหัวข้อนี้ "Osipov's Tree" ” อย่างไรก็ตาม บทความของฉันถูกวิพากษ์วิจารณ์และพวกเขาบอกว่าปัญหาทั้งหมดที่ฉันแจ้งได้รับการแก้ไขมานานแล้วใน OLAP (www.molap.rgtu.ru) และพวกเขาแนะนำให้ดูตาราง Pivot ใน EXCEL
    มันง่ายมากจนเมื่อใช้มือเล็กๆ อันชาญฉลาดของฉันกับมัน ฉันจึงได้รูปแบบที่ง่ายมากสำหรับการดาวน์โหลดข้อมูลจาก 1C7 หรือฐานข้อมูลอื่น ๆ (ต่อไปนี้ 1C หมายถึงฐานข้อมูลใด ๆ ) และการวิเคราะห์ใน OLAP
    ฉันคิดว่ารูปแบบการอัปโหลด OLAP จำนวนมากซับซ้อนเกินไป ฉันเลือกความเรียบง่าย

    ลักษณะเฉพาะ :

    1. ต้องใช้ EXCEL 2000 เท่านั้นในการทำงาน
    2. ผู้ใช้สามารถออกแบบรายงานได้เองโดยไม่ต้องเขียนโปรแกรม
    3. การอัพโหลดจาก 1C7 ในรูปแบบไฟล์ข้อความธรรมดา
    4. สำหรับ รายการบัญชีมีการประมวลผลแบบสากลสำหรับการขนถ่ายที่ทำงานในทุกการกำหนดค่าอยู่แล้ว การประมวลผลตัวอย่างพร้อมให้ดาวน์โหลดข้อมูลอื่นได้
    5. คุณสามารถออกแบบแบบฟอร์มรายงานล่วงหน้าแล้วนำไปใช้กับข้อมูลต่างๆ ได้โดยไม่ต้องออกแบบใหม่
    6.ผลงานค่อนข้างดี ในระยะแรกที่ยาวนาน ข้อมูลจะถูกนำเข้าไปยัง EXCEL จากไฟล์ข้อความเป็นครั้งแรก และสร้างคิวบ์ OLAP จากนั้นจึงสามารถสร้างรายงานใดๆ ก็ตามบนพื้นฐานของคิวบ์นี้ได้อย่างรวดเร็ว ตัวอย่างเช่น ข้อมูลการขายผลิตภัณฑ์สำหรับร้านค้าเป็นเวลา 3 เดือนโดยมีผลิตภัณฑ์ 6,000 รายการถูกโหลดลงใน EXCEL ใน 8 นาทีบน Cel600-128M การให้คะแนนตามผลิตภัณฑ์และกลุ่ม (รายงาน OLAP) จะถูกคำนวณใหม่ภายใน 1 นาที
    7. ข้อมูลจะถูกดาวน์โหลดจาก 1C7 แบบเต็มตามระยะเวลาที่กำหนด (ความเคลื่อนไหวทั้งหมด ทั่วทั้งคลังสินค้า บริษัท บัญชี) เมื่อนำเข้าสู่ EXCEL คุณสามารถใช้ตัวกรองที่โหลดเฉพาะข้อมูลที่จำเป็นสำหรับการวิเคราะห์ (เช่น จากการเคลื่อนไหวทั้งหมด เฉพาะยอดขาย)
    8. ปัจจุบันมีการพัฒนาวิธีการวิเคราะห์การเคลื่อนไหวหรือสิ่งตกค้าง แต่ไม่รวมการเคลื่อนไหวและสารตกค้างเข้าด้วยกัน แม้ว่าในหลักการจะเป็นไปได้ก็ตาม

    โอแลปคืออะไร : (www.molap.rgtu.ru)

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

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

    ตัวอย่างเช่นใน 1C หนึ่งแถวของตารางนี้จะสอดคล้องกับหนึ่งบรรทัดของใบแจ้งหนี้ บางฟิลด์ (คู่สัญญา, วันที่) จะนำมาจากส่วนหัวของใบแจ้งหนี้

    โดยปกติข้อมูลสำหรับการวิเคราะห์จะถูกอัปโหลดเข้าสู่ระบบ OLAP ในช่วงระยะเวลาหนึ่ง ซึ่งตามหลักการแล้ว สามารถเลือกช่วงเวลาอื่นได้โดยใช้ตัวกรองการโหลด

    ตารางนี้เป็นแหล่งที่มาสำหรับการวิเคราะห์ OLAP

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


    วิธีใช้ด้วยตัวเอง :

    แกะข้อมูลจากการกระจายลงในไดเร็กทอรี c:\fixin ทุกประการ (สำหรับระบบการซื้อขาย สามารถทำได้ใน c:\reports) อ่าน readme.txt และปฏิบัติตามคำแนะนำทั้งหมดในนั้น

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

    วันที่|วันในสัปดาห์|สัปดาห์|ปี|ไตรมาส|เดือน|เอกสาร|บริษัท|เดบิต|ระบบการตั้งชื่อ Dt
    |ระบบการตั้งชื่อกลุ่ม DtGroup|ระบบการตั้งชื่อ DtSection|เครดิต|จำนวนเงิน|ValAmount|ปริมาณ
    |สกุลเงิน|คู่สัญญา Dt|คู่สัญญากลุ่ม Dt|คู่สัญญา Kt|คู่สัญญากลุ่ม Kt|
    CTเบ็ดเตล็ดวัตถุต่างๆ

    โดยที่ภายใต้คำนำหน้า Dt(Kt) มีบัญชีย่อยของเดบิต (เครดิต) Group คือกลุ่มของบัญชีย่อยนี้ (ถ้ามี) Section คือกลุ่มของกลุ่ม Class คือกลุ่มของบัญชีย่อยนี้

    สำหรับระบบการซื้อขาย ฟิลด์อาจเป็นดังนี้:

    ทิศทาง|ประเภทการเคลื่อนย้าย|สำหรับเงินสด|ผลิตภัณฑ์|ปริมาณ|ราคา|จำนวนเงิน|วันที่|บริษัท
    |คลังสินค้า|สกุลเงิน|เอกสาร|วันในสัปดาห์|สัปดาห์|ปี|ไตรมาส|เดือน|ผู้เขียน
    |หมวดหมู่ผลิตภัณฑ์|หมวดหมู่ความเคลื่อนไหว|หมวดหมู่คู่สัญญา|กลุ่มผลิตภัณฑ์
    |ValAmount|ต้นทุน|คู่สัญญา

    ในการวิเคราะห์ข้อมูล จะใช้ตาราง "Movement Analysis.xls" ("Accounting Analysis.xls") เมื่อเปิดขึ้นมา อย่าปิดใช้งานมาโคร มิฉะนั้นคุณจะไม่สามารถอัปเดตรายงานได้ (เรียกใช้โดยแมโคร VBA) ไฟล์เหล่านี้ใช้ข้อมูลต้นฉบับจากไฟล์ C:\fixin\motions.txt (C:\fixin\buh.txt) มิฉะนั้นจะเหมือนกัน

    พื้นฐาน OLAP

    ดังนั้นคุณอาจต้องคัดลอกข้อมูลของคุณไปยังไฟล์ใดไฟล์หนึ่งเหล่านี้
    หากต้องการโหลดข้อมูลของคุณลงใน EXCEL ให้เลือกหรือเขียนตัวกรองของคุณแล้วคลิกปุ่ม "สร้าง" บนแผ่น "เงื่อนไข"
    เอกสารรายงานจะขึ้นต้นด้วยคำนำหน้า "รายงาน" ไปที่แผ่นรายงานคลิก "อัปเดต" และข้อมูลรายงานจะเปลี่ยนแปลงตามข้อมูลที่โหลดล่าสุด
    หากคุณไม่พอใจกับรายงานมาตรฐาน เรามีแผ่น ReportTemplate คัดลอกไปยังชีตใหม่และปรับแต่งประเภทรายงานโดยทำงานกับตารางสรุปข้อมูลบนชีตนี้ (สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการทำงานกับตารางสรุป โปรดดูหนังสือ EXEL 2000 เล่มใดก็ได้) ฉันแนะนำให้ตั้งค่ารายงานเกี่ยวกับชุดข้อมูลขนาดเล็ก จากนั้นเรียกใช้บนอาเรย์ขนาดใหญ่ เนื่องจาก... ไม่มีวิธีใดที่จะปิดใช้งานการวาดตารางใหม่ทุกครั้งที่มีการเปลี่ยนแปลงเค้าโครงรายงาน

    หมายเหตุทางเทคนิค :

    เมื่ออัปโหลดข้อมูลจาก 1C ผู้ใช้จะเลือกโฟลเดอร์ที่จะอัปโหลดไฟล์ ฉันทำสิ่งนี้เพราะมีแนวโน้มว่าจะมีการอัปโหลดไฟล์หลายไฟล์ (ซากและการเคลื่อนไหว) ในอนาคตอันใกล้นี้ จากนั้น โดยการคลิกปุ่ม “ส่ง” -> “ไปยังการวิเคราะห์ OLAP ใน EXCEL 2000” ใน Explorer ข้อมูลจะถูกคัดลอกจากโฟลเดอร์ที่เลือกไปยังโฟลเดอร์ C:\fixin (เพื่อให้คำสั่งนี้ปรากฏในรายการคำสั่ง “ส่ง” คุณต้องคัดลอกไฟล์ “สำหรับการวิเคราะห์ OLAP ใน EXCEL 2000.bat” ไปยังไดเร็กทอรี C:\Windows\SendTo) ดังนั้น ให้อัปโหลดข้อมูลทันทีด้วยการตั้งชื่อ ไฟล์motions.txtหรือbuh.txt

    รูปแบบไฟล์ข้อความ:
    บรรทัดแรกของไฟล์ข้อความคือส่วนหัวของคอลัมน์คั่นด้วย "|" บรรทัดที่เหลือมีค่าของคอลัมน์เหล่านี้คั่นด้วย "|"

    หากต้องการนำเข้าไฟล์ข้อความลงใน Excel จะใช้ Microsoft Query (ส่วนประกอบของ EXCEL) เพื่อให้ทำงานได้ คุณต้องมีไฟล์ shema.ini ที่มีข้อมูลต่อไปนี้ในไดเรกทอรีนำเข้า (C:\fixin):


    ColNameHeader=จริง
    รูปแบบ=ตัวคั่น(|)
    MaxScanRows=3
    ชุดอักขระ=ANSI
    ColNameHeader=จริง
    รูปแบบ=ตัวคั่น(|)
    MaxScanRows=3
    ชุดอักขระ=ANSI

    คำอธิบาย: Motions.txt และ buh.txt เป็นชื่อของส่วน ซึ่งสอดคล้องกับชื่อของไฟล์ที่นำเข้า อธิบายวิธีการนำเข้าไฟล์ข้อความลงใน Excel พารามิเตอร์ที่เหลือหมายความว่าบรรทัดแรกมีชื่อของคอลัมน์ ตัวคั่นคอลัมน์คือ "|" ชุดอักขระคือ Windows ANSI (สำหรับ DOS - OEM)
    ประเภทฟิลด์จะถูกกำหนดโดยอัตโนมัติตามข้อมูลที่มีอยู่ในคอลัมน์ (วันที่ หมายเลข สตริง)
    ไม่จำเป็นต้องอธิบายรายการฟิลด์ที่ใดก็ได้ - EXCEL และ OLAP จะกำหนดเองว่าฟิลด์ใดอยู่ในไฟล์ตามส่วนหัวในบรรทัดแรก

    โปรดทราบ โปรดตรวจสอบการตั้งค่าภูมิภาคของคุณ "แผงควบคุม" -> "การตั้งค่าภูมิภาค" ในการประมวลผลของฉัน ตัวเลขจะถูกอัปโหลดโดยคั่นด้วยเครื่องหมายจุลภาค และวันที่อยู่ในรูปแบบ "วว.ดด.ปปปป"

    เมื่อคุณคลิกปุ่ม "สร้าง" ข้อมูลจะถูกโหลดลงในตาราง Pivot บนแผ่นงาน "Base" และรายงานทั้งหมดบนแผ่น "รายงาน" จะนำข้อมูลจากตาราง Pivot นี้

    ฉันเข้าใจว่าแฟน ๆ ของ MS SQL Server และฐานข้อมูลที่ทรงพลังจะเริ่มบ่นว่าทุกอย่างง่ายเกินไป การประมวลผลของฉันจะหมดลงด้วยตัวอย่างที่ใช้เวลานานหนึ่งปี แต่ก่อนอื่นเลย ฉันต้องการให้ประโยชน์ของการวิเคราะห์ OLAP เป็นสื่อกลาง องค์กรขนาดต่างๆ ฉันจะวางตำแหน่งผลิตภัณฑ์นี้ให้เป็นเครื่องมือวิเคราะห์ประจำปีสำหรับบริษัทขายส่ง การวิเคราะห์รายไตรมาสสำหรับผู้ค้าปลีก และการวิเคราะห์การปฏิบัติงานสำหรับองค์กรใดๆ

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

    คำอธิบายการทำงานใน EXCEL (สำหรับผู้ใช้):

    คำแนะนำในการใช้รายงาน:
    1. ส่งข้อมูลที่ดาวน์โหลดมาเพื่อการวิเคราะห์ (ตรวจสอบกับผู้ดูแลระบบ) ในการดำเนินการนี้ให้คลิกขวาที่โฟลเดอร์ที่คุณดาวน์โหลดข้อมูลจาก 1C แล้วเลือกคำสั่ง "ส่ง" จากนั้นเลือก "ไปยังการวิเคราะห์ OLAP ใน EXCEL 2000"
    2. เปิดไฟล์ "Motion Analysis.xls"
    3. เลือกค่าตัวกรอง คุณสามารถเพิ่มตัวกรองที่คุณต้องการได้ในแท็บ "ค่า"
    4. คลิกปุ่ม "สร้าง" และข้อมูลที่ดาวน์โหลดจะถูกโหลดลงใน EXCEL
    5. หลังจากโหลดข้อมูลลงใน EXCEL แล้ว คุณสามารถดูรายงานต่างๆ ได้ ในการดำเนินการนี้ เพียงคลิกปุ่ม "รีเฟรช" ในรายงานที่เลือก แผ่นรายงานเริ่มต้นด้วยรายงาน
    ความสนใจ! หลังจากที่คุณเปลี่ยนค่าตัวกรอง คุณต้องคลิกปุ่ม "สร้าง" อีกครั้งเพื่อให้ข้อมูลใน EXCEL ได้รับการโหลดซ้ำจากไฟล์อัปโหลดตามตัวกรอง

    การประมวลผลจากตัวอย่างสาธิต:

    กำลังประมวลผลmotionsbuh2011.ert – รุ่นล่าสุดการอัพโหลดธุรกรรมจากการบัญชี 7.7 เพื่อการวิเคราะห์ใน Excel มีช่องทำเครื่องหมาย “แนบไปกับไฟล์” ซึ่งช่วยให้คุณสามารถอัปโหลดข้อมูลเป็นส่วนๆ ตามช่วงเวลา โดยผนวกเข้ากับไฟล์เดียวกัน แทนที่จะอัปโหลดไปยังไฟล์เดิมอีกครั้ง:

    กำลังประมวลผลmotionswork.ertจะอัปโหลดข้อมูลการขายเพื่อการวิเคราะห์ใน Excel

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

    หมากรุกสายไฟ:

    ปริมาณงานของผู้ปฏิบัติงานตามประเภทของใบแจ้งหนี้:

    ป.ล. :

    เป็นที่ชัดเจนว่าสามารถใช้รูปแบบที่คล้ายกันเพื่อจัดระเบียบการดาวน์โหลดข้อมูลจาก 1C8
    ในปี 2011 ผู้ใช้ติดต่อฉันซึ่งจำเป็นต้องปรับปรุงการประมวลผลนี้ใน 1C7 เพื่อให้สามารถอัปโหลดข้อมูลจำนวนมาก ฉันพบผู้จ้างงานภายนอกและทำงานนี้ ดังนั้นการพัฒนาจึงค่อนข้างเกี่ยวข้อง

    การประมวลผลของ Motionsbuh2011.ert ได้รับการปรับปรุงเพื่อรองรับการขนถ่ายข้อมูลจำนวนมาก

    คำจำกัดความที่ชัดเจนครั้งแรก โอแลป(การประมวลผลการวิเคราะห์แบบออนไลน์) ได้รับการเสนอในปี 1993 โดย E.F. Codd ในบทความที่ตีพิมพ์โดยได้รับการสนับสนุนจาก Arbor Software (ปัจจุบันคือ Hyperion Software) บทความนี้ประกอบด้วยกฎ 12 ข้อที่ปัจจุบันเป็นที่รู้จักอย่างกว้างขวาง และมีการอธิบายไว้บนเว็บไซต์ของผู้ให้บริการแอปพลิเคชัน OLAP ต่อมาในปี 1995 ได้มีการเพิ่มกฎที่ไม่ค่อยมีใครรู้จักอีก 6 กฎ โดยทั้งหมดถูกแบ่งออกเป็น 4 กลุ่มและเรียกว่า "คุณลักษณะ" ต่อไปนี้เป็นกฎที่กำหนดแอปพลิเคชัน OLAP พร้อมความคิดเห็นจาก Nigel Pendse หนึ่งในผู้สร้างเว็บไซต์ OLAP Report

    ลักษณะสำคัญของ OLAP ได้แก่ :

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

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

    3. ความพร้อมใช้งาน. OLAP เป็นตัวกลาง Codd เน้นย้ำเป็นพิเศษว่ากลไก OLAP เป็นโปรแกรมมิดเดิลแวร์ระหว่างแหล่งข้อมูลที่ต่างกันและส่วนต่อประสานกับผู้ใช้ ผลิตภัณฑ์ส่วนใหญ่มีฟังก์ชันเหล่านี้ แต่ความง่ายในการเข้าถึงข้อมูลมักจะน้อยกว่าที่ผู้ให้บริการซอฟต์แวร์รายอื่นต้องการ

    4. การสกัดข้อมูลเป็นกลุ่ม. กฎนี้กำหนดให้ผลิตภัณฑ์มีทั้งฐานข้อมูลของตนเองสำหรับการจัดเก็บข้อมูลที่วิเคราะห์และการเข้าถึงข้อมูลภายนอกแบบไดนามิก (สด) เราเห็นด้วยกับ Codd ในประเด็นนี้ และเสียใจที่มีผลิตภัณฑ์ OLAP บางส่วนปฏิบัติตาม แม้แต่โปรแกรมที่มีฟังก์ชั่นดังกล่าวก็ไม่ค่อยทำให้ง่ายและเป็นอัตโนมัติเพียงพอ ด้วยเหตุนี้ Codd จึงสนับสนุนการแสดงข้อมูลหลายมิติพร้อมการคำนวณล่วงหน้าบางส่วนของฐานข้อมูลหลายมิติขนาดใหญ่พร้อมการเข้าถึงข้อมูลโดยละเอียดตั้งแต่ต้นทางถึงปลายทางอย่างโปร่งใส ปัจจุบันถูกมองว่าเป็นคำจำกัดความของ OLAP แบบไฮบริด ซึ่งกำลังกลายเป็นสถาปัตยกรรมที่ได้รับความนิยมมากที่สุด ดังนั้น Codd จึงมองเห็นแนวโน้มหลักในด้านนี้ได้อย่างแม่นยำมาก

    5. สถาปัตยกรรมไคลเอ็นต์-เซิร์ฟเวอร์. Codd เชื่อว่าไม่เพียงแต่ทุกผลิตภัณฑ์ควรเป็นผลิตภัณฑ์ไคลเอ็นต์-เซิร์ฟเวอร์ แต่ส่วนประกอบเซิร์ฟเวอร์ทั้งหมดของผลิตภัณฑ์ OLAP ควรมีความชาญฉลาดเพียงพอที่จะทำให้ไคลเอ็นต์ที่แตกต่างกันสามารถเชื่อมต่อได้โดยใช้ความพยายามและการเขียนโปรแกรมเพียงเล็กน้อย นี่เป็นการทดสอบที่ซับซ้อนกว่าสถาปัตยกรรมไคลเอ็นต์-เซิร์ฟเวอร์แบบธรรมดาและมีผลิตภัณฑ์เพียงไม่กี่ตัวที่ผ่านการทดสอบ เราอาจโต้แย้งได้ว่าการทดสอบนี้อาจซับซ้อนเกินกว่าที่จำเป็น และไม่ควรกำหนดสถาปัตยกรรมระบบให้กับนักพัฒนา

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

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

    คุณสมบัติพิเศษ

    8. การจัดการข้อมูลที่ไม่ปกติ. ซึ่งหมายความว่าสามารถบูรณาการระหว่างกลไก OLAP และแหล่งข้อมูลที่ไม่เป็นมาตรฐานได้ Codd เน้นย้ำว่าเมื่ออัพเดตข้อมูลที่ดำเนินการในสภาพแวดล้อม OLAP จะต้องสามารถเปลี่ยนข้อมูลที่ไม่เป็นมาตรฐานในระบบภายนอกได้

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

    10. เน้นข้อมูลที่ขาดหายไป. ซึ่งหมายความว่าข้อมูลที่ขาดหายไปจะต้องแตกต่างจากค่าว่าง ตามกฎแล้ว ระบบ OLAP สมัยใหม่ทั้งหมดรองรับฟีเจอร์นี้

    11. การจัดการกับค่าที่หายไป. ค่าที่หายไปทั้งหมดควรถูกละเว้นในการวิเคราะห์ โดยไม่คำนึงถึงแหล่งที่มา

    ลักษณะการสร้างรายงาน

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

    1. แนวคิดของโอแลปคิวบ์

    13. ประสิทธิภาพที่สม่ำเสมอเมื่อสร้างรายงาน. ซึ่งหมายความว่าประสิทธิภาพของระบบเมื่อสร้างรายงานไม่ควรลดลงอย่างมีนัยสำคัญเมื่อขนาดหรือขนาดของฐานข้อมูลเพิ่มขึ้น

    14. การควบคุมเลเยอร์ทางกายภาพอัตโนมัติ. ระบบ OLAP จะต้องปรับโครงสร้างทางกายภาพโดยอัตโนมัติเพื่อปรับให้เข้ากับประเภทและโครงสร้างของแบบจำลอง

    การควบคุมมิติ

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

    16. ไม่จำกัดจำนวนมิติและระดับการรวม. ในความเป็นจริงโดยไม่จำกัดจำนวน Codd หมายถึง 15-20 เช่น ตัวเลขที่เกินความต้องการสูงสุดของนักวิเคราะห์อย่างเห็นได้ชัด

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

    ดูรายละเอียดเกี่ยวกับผลิตภัณฑ์ของไฮเปอเรียนได้ที่เว็บไซต์ www.hyperion.ru

    ฉบับพิมพ์

    กลับ

    10.8 การทำงานกับตารางสาระสำคัญ (วัตถุ PivotTable)

    วัตถุ Excel.PivotTable การทำงานทางโปรแกรมกับตารางสาระสำคัญและคิวบ์ OLAP ใน Excel โดยใช้ VBA วัตถุ PivotCache การสร้างเค้าโครงตารางสาระสำคัญ

    ในระหว่างการดำเนินงานขององค์กรส่วนใหญ่ ข้อมูลดิบที่เรียกว่ากิจกรรมจะสะสม ตัวอย่างเช่น สำหรับองค์กรการค้า สามารถสะสมข้อมูลเกี่ยวกับการขายสินค้าสำหรับการซื้อแต่ละครั้งแยกกัน สำหรับองค์กรการสื่อสารเคลื่อนที่ - สถิติเกี่ยวกับโหลดบนสถานีฐาน ฯลฯ บ่อยครั้งที่การจัดการขององค์กรต้องการข้อมูลการวิเคราะห์ที่สร้างขึ้นบนพื้นฐานของข้อมูลดิบ - ตัวอย่างเช่นเพื่อคำนวณการมีส่วนร่วมของผลิตภัณฑ์แต่ละประเภทต่อรายได้ขององค์กรหรือคุณภาพของการบริการในพื้นที่ ​​สถานีที่กำหนด เป็นการยากมากที่จะดึงข้อมูลดังกล่าวออกจากข้อมูลดิบ: คุณต้องเรียกใช้คำสั่ง SQL ที่ซับซ้อนมากซึ่งใช้เวลานานในการดำเนินการและมักจะรบกวนงานปัจจุบัน ดังนั้น ปัจจุบันข้อมูลดิบจึงถูกรวมเข้าไว้ในคลังเก็บข้อมูลถาวรมากขึ้นเรื่อยๆ ซึ่งก็คือ Data Warehouse จากนั้นจึงรวมเข้ากับคิวบ์ OLAP ซึ่งสะดวกมากสำหรับการวิเคราะห์เชิงโต้ตอบ วิธีที่ง่ายที่สุดในการนึกถึงคิวบ์ OLAP คือตารางหลายมิติ ซึ่งแทนที่จะเป็นสองมิติมาตรฐาน (คอลัมน์และแถว เช่นเดียวกับในตารางทั่วไป) อาจมีหลายมิติได้ คำว่า "ส่วน" มักใช้เพื่ออธิบายการวัดในลูกบาศก์ เช่น ฝ่ายการตลาดอาจต้องการข้อมูลตามเวลา, ตามภูมิภาค, ตามประเภทผลิตภัณฑ์, ตามช่องทางการขาย เป็นต้น การใช้คิวบ์ (ซึ่งตรงข้ามกับการสืบค้น SQL มาตรฐาน) เป็นเรื่องง่ายมากที่จะรับคำตอบสำหรับคำถามเช่น “จำนวนผลิตภัณฑ์ประเภทนี้ที่ขายไปในไตรมาสที่สี่ของปีที่แล้วในภูมิภาคตะวันตกเฉียงเหนือผ่านทางผู้จัดจำหน่ายระดับภูมิภาค

    แน่นอนว่าไม่สามารถสร้างคิวบ์ดังกล่าวในฐานข้อมูลทั่วไปได้ การทำงานกับคิวบ์ OLAP ต้องใช้ผลิตภัณฑ์ซอฟต์แวร์พิเศษ SQL Server มาพร้อมกับฐานข้อมูล OLAP จาก Microsoft ที่เรียกว่า Analysis Services มีโซลูชัน OLAP จาก Oracle, IBM, Sybase เป็นต้น

    ในการทำงานกับคิวบ์ดังกล่าว Excel มีไคลเอนต์ในตัว

    ในภาษารัสเซียเรียกว่า ตารางเดือย(บนหน้าจอกราฟิกสามารถเข้าถึงได้ผ่านเมนู ข้อมูล -> ตารางเดือย) และในภาษาอังกฤษ - ตารางสาระสำคัญ. ดังนั้น วัตถุที่ไคลเอ็นต์นี้เป็นตัวแทนจึงเรียกว่า PivotTable ควรสังเกตว่าสามารถทำงานได้ไม่เพียงกับคิวบ์ OLAP เท่านั้น แต่ยังรวมถึงข้อมูลทั่วไปในตารางหรือฐานข้อมูล Excel ด้วย แต่ความสามารถหลายอย่างหายไป

    PivotTable และ PivotTable เป็นผลิตภัณฑ์ซอฟต์แวร์จากซอฟต์แวร์ Panorama ที่ Microsoft ซื้อกิจการและรวมเข้ากับ Excel

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

    การทำงานกับตารางเดือยมีลักษณะอย่างไรโดยทางโปรแกรม

    สิ่งแรกที่เราต้องทำคือสร้างวัตถุ PivotCache ที่จะแสดงชุดระเบียนที่ดึงมาจากแหล่ง OLAP โดยคร่าวๆ แล้ว ออบเจ็กต์ PivotCache นี้สามารถเปรียบเทียบได้กับ QueryTable คุณสามารถใช้วัตถุ PivotCache ได้เพียงหนึ่งวัตถุต่อวัตถุ PivotTable เท่านั้น ออบเจ็กต์ PivotCache ถูกสร้างขึ้นโดยใช้เมธอด Add() ของคอลเลกชัน PivotCaches:

    หรี่ PC1 เป็น PivotCache

    ตั้งค่า PC1 = ActiveWorkbook.PivotCaches.Add(xlExternal)

    PivotCaches เป็นคอลเลกชันมาตรฐาน และในบรรดาวิธีการที่สมควรได้รับการพิจารณาโดยละเอียด จะมีเพียงวิธี Add() เท่านั้นที่สามารถตั้งชื่อได้ วิธีนี้ใช้พารามิเตอร์สองตัว:

    • ประเภทแหล่งที่มา- จำเป็น กำหนดประเภทของแหล่งข้อมูลสำหรับตารางสรุปข้อมูล คุณสามารถระบุการสร้าง PivotTable ตามช่วงใน Excel ข้อมูลจากฐานข้อมูล แหล่งข้อมูลภายนอก PivotTable อื่น ฯลฯ ในทางปฏิบัติ โดยปกติแล้ว การใช้ OLAP เมื่อมีข้อมูลจำนวนมากมักจะเหมาะสม ดังนั้น คุณจึงจำเป็นต้องมีที่จัดเก็บข้อมูลภายนอกแบบพิเศษ (เช่น Microsoft Analysis Services) ในสถานการณ์นี้ มีเลือกค่าxlExternal
    • แหล่งข้อมูล- จำเป็นในทุกกรณี ยกเว้นเมื่อค่าของพารามิเตอร์แรกคือ xlExternal โดยจะกำหนดช่วงข้อมูลตามที่จะสร้าง PivotTable โดยทั่วไปจะใช้วัตถุ Range

    งานต่อไปคือการกำหนดค่าการตั้งค่าวัตถุ PivotCache ดังที่ได้กล่าวไปแล้ว วัตถุนี้คล้ายกับ QueryTable มากและชุดคุณสมบัติและวิธีการก็คล้ายกันมาก คุณสมบัติและวิธีการที่สำคัญที่สุดบางประการ:

    • ADOการเชื่อมต่อ- ความสามารถในการส่งคืนวัตถุการเชื่อมต่อ ADO ที่สร้างขึ้นโดยอัตโนมัติเพื่อเชื่อมต่อกับแหล่งข้อมูลภายนอก ใช้เพื่อกำหนดค่าคุณสมบัติการเชื่อมต่อเพิ่มเติม
    • การเชื่อมต่อ- ทำงานเหมือนกับคุณสมบัติวัตถุ QueryTable ที่มีชื่อเดียวกันทุกประการ สามารถรับสตริงการเชื่อมต่อ วัตถุ Recordset สำเร็จรูป ไฟล์ข้อความ หรือคำขอทางเว็บ ไฟล์ไมโครซอฟต์คิวรี บ่อยที่สุดเมื่อทำงานกับ OLAP สตริงการเชื่อมต่อจะถูกเขียนโดยตรง (เนื่องจากการรับวัตถุ Recordset เช่นการเปลี่ยนแปลงข้อมูลไม่สมเหตุสมผลมากนัก - แหล่งข้อมูล OLAP มักจะอ่านอย่างเดียวเกือบตลอดเวลา) ตัวอย่างเช่น การตั้งค่าคุณสมบัตินี้เพื่อเชื่อมต่อกับฐานข้อมูล Foodmart (ฐานข้อมูลตัวอย่าง Analysis Services) บนเซิร์ฟเวอร์ LONDON อาจมีลักษณะดังนี้:

    PC1.Connection = "OLEDB;ผู้ให้บริการ=MSOLAP.2;แหล่งข้อมูล=LONDON1;แค็ตตาล็อกเริ่มต้น = FoodMart 2000"

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

    PC1.CommandType = xlCmdCube

    PC1.CommandText = Array("ยอดขาย")

    • คุณสมบัติ การเชื่อมต่อท้องถิ่นช่วยให้คุณเชื่อมต่อกับคิวบ์ในเครื่อง (ไฟล์ * .cub) ที่สร้างโดยใช้ Excel แน่นอนว่าไม่แนะนำให้ใช้ไฟล์ดังกล่าวเพื่อทำงานกับปริมาณข้อมูล "การผลิต" - เพื่อวัตถุประสงค์ในการสร้างเลย์เอาต์เท่านั้น ฯลฯ
    • คุณสมบัติ หน่วยความจำที่ใช้แล้วส่งกลับจำนวน RAM ที่ใช้โดย PivotCache ถ้ายังไม่ได้สร้างและเปิด PivotTable ที่ใช้ PivotCache นี้ ก็จะส่งกลับ 0 สามารถใช้เพื่อตรวจสอบว่าแอปพลิเคชันของคุณจะทำงานบนไคลเอนต์ที่อ่อนแอหรือไม่
    • คุณสมบัติ โอแลปคืนค่า True ถ้า PivotCache เชื่อมต่อกับเซิร์ฟเวอร์ OLAP
    • ปรับแคชให้เหมาะสม- ความสามารถในการปรับโครงสร้างแคชให้เหมาะสม การดาวน์โหลดข้อมูลเริ่มแรกจะใช้เวลานานกว่า แต่ความเร็วอาจเพิ่มขึ้น ใช้ไม่ได้กับแหล่ง OLE DB

    คุณสมบัติที่เหลืออยู่ของวัตถุ PivotCache จะเหมือนกับคุณสมบัติของวัตถุ QueryTable และดังนั้นจึงจะไม่ถูกกล่าวถึงที่นี่

    วิธีการหลักของวัตถุ PivotCache คือวิธีการ CreatePivotTable() เมื่อใช้วิธีการนี้ ขั้นตอนถัดไปจะดำเนินการ - สร้างตารางเดือย (วัตถุ PivotTable) วิธีนี้ใช้พารามิเตอร์สี่ตัว:

    • ตารางปลายทาง- พารามิเตอร์ที่จำเป็นเท่านั้น

      ยอมรับวัตถุ Range ที่มุมซ้ายบนซึ่งจะวางตารางสรุป

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

    การสร้างตารางสรุปข้อมูลในเซลล์แรกของแผ่นงานแรกอาจมีลักษณะดังนี้:

    PC1.CreatePivotTable Range("A1")

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

    • พื้นที่คอลัมน์- ประกอบด้วยมิติข้อมูลเหล่านั้น ("ส่วน" ที่จะวิเคราะห์ข้อมูล) ซึ่งมีสมาชิกน้อยกว่า
    • พื้นที่เส้น- มิติเหล่านั้นซึ่งมีสมาชิกมากกว่า
    • พื้นที่หน้า- การวัดที่คุณต้องการกรองเท่านั้น (เช่น แสดงข้อมูลเฉพาะสำหรับภูมิภาคดังกล่าวหรือเฉพาะปีดังกล่าว)
    • พื้นที่ข้อมูล- อันที่จริงเป็นส่วนตรงกลางของโต๊ะ ข้อมูลตัวเลขเหล่านั้น (เช่น จำนวนยอดขาย) ที่เราวิเคราะห์

    การอาศัยผู้ใช้ในการวางองค์ประกอบอย่างถูกต้องทั้งสี่ด้านเป็นเรื่องยาก

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

    PT1.CubeFields("").การวางแนว = xlColumnField

    จากนั้น - การวัดเวลาลงในพื้นที่เส้น:

    PT1.CubeFields("").การวางแนว = xlRowField

    จากนั้น - มิติผลิตภัณฑ์ไปยังพื้นที่หน้า:

    PT1.CubeFields("").การวางแนว = xlPageField

    และสุดท้าย ตัวบ่งชี้ (ข้อมูลตัวเลขสำหรับการวิเคราะห์) ยอดขายต่อหน่วย:

    PT1.CubeFields(“.”).การวางแนว = xlDataField

    ตอนนี้ตารางเดือยได้ถูกสร้างขึ้นแล้ว และคุณสามารถใช้งานได้ อย่างไรก็ตาม มักจำเป็นต้องดำเนินการอีกครั้งหนึ่ง - เพื่อขยายระดับที่ต้องการของลำดับชั้นมิติ ตัวอย่างเช่น หากเราสนใจการวิเคราะห์รายไตรมาส เราจำเป็นต้องขยายระดับไตรมาสของมิติเวลา (โดยค่าเริ่มต้น จะแสดงเฉพาะระดับบนสุดเท่านั้น) แน่นอนว่าผู้ใช้สามารถดำเนินการได้ด้วยตนเอง แต่ไม่สามารถคาดเดาได้ว่าจะต้องคลิกที่ใดเสมอไป ตัวอย่างเช่น คุณสามารถขยายลำดับชั้นของมิติเวลาทางโปรแกรมเป็นระดับไตรมาสของปี 1997 ได้โดยใช้ออบเจ็กต์ PivotField และ PivotItem:

    PT1.PivotFields(“.”).PivotItems(“.”).DrilledDown = True

    / ในลักษณะเหลี่ยม. การประยุกต์คิวบ์ OLAP ในการจัดการของบริษัทขนาดใหญ่


    ติดต่อกับ

    เพื่อนร่วมชั้น

    คอนสแตนติน ต็อกมาเชฟ, สถาปนิกระบบ

    ในสไตล์คิวบิสต์
    การประยุกต์คิวบ์ OLAP ในการจัดการของบริษัทขนาดใหญ่

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

    เกี่ยวกับประโยชน์ของการวิเคราะห์ธุรกิจ

    ในวงจรการจัดการองค์กร ระหว่างข้อมูล "ดิบ" และ "คันโยก" ที่มีอิทธิพลต่อออบเจ็กต์ที่ได้รับการจัดการ จะมี "ตัวบ่งชี้ประสิทธิภาพ" - KPI พวกมันสร้าง "แดชบอร์ด" ชนิดหนึ่งซึ่งสะท้อนถึงสถานะของระบบย่อยต่าง ๆ ของวัตถุที่ถูกควบคุม การจัดหาตัวบ่งชี้ประสิทธิภาพที่ให้ข้อมูลแก่บริษัทและการติดตามการคำนวณและมูลค่าที่ได้รับเป็นงานของนักวิเคราะห์ธุรกิจ บริการวิเคราะห์อัตโนมัติ เช่น ยูทิลิตี MS SQL Server Analysis Services (SSAS) และเครื่องมือหลัก OLAP cube สามารถให้ความช่วยเหลือที่สำคัญในการจัดระเบียบงานการวิเคราะห์ของบริษัท

    ต้องมีอีกประเด็นหนึ่งที่นี่ สมมติว่าตามธรรมเนียมของอเมริกา ความเชี่ยวชาญพิเศษที่เน้นการทำงานกับคิวบ์ OLAP เรียกว่า BI (Business Intelligence) ไม่ควรมีภาพลวงตาว่า American BI สอดคล้องกับ "นักวิเคราะห์ธุรกิจ" ของรัสเซีย ไม่มีความผิด แต่บ่อยครั้งที่นักวิเคราะห์ธุรกิจของเราเป็น "นักบัญชี" และ "นักบัญชีต่ำกว่า" ซึ่งเป็นผู้เชี่ยวชาญที่มีความรู้คลุมเครือและมีเงินเดือนเพียงเล็กน้อย ซึ่งจริงๆ แล้วไม่มีเครื่องมือและวิธีการเป็นของตัวเอง

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

    ใน เมื่อเร็วๆ นี้แนวโน้มที่เป็นอันตรายเกิดขึ้นอีกประการหนึ่ง ด้วยความเชี่ยวชาญ ความเข้าใจร่วมกันระหว่างพนักงานบริษัทประเภทต่างๆ จึงสูญหายไป นักบัญชี ผู้จัดการ และโปรแกรมเมอร์ เช่น “หงส์ กั้ง และหอก” ในนิทานของ I.A. ครีลอฟ กำลังดึงบริษัทไปในทิศทางที่ต่างกัน

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

    ผู้จัดการกำลังยุ่งอยู่กับส่วนหนึ่งของกระบวนการทางธุรกิจ แต่ไม่สามารถประเมินผลลัพธ์และแนวโน้มของการกระทำของเขาในระดับบริษัทโดยรวมได้ทั่วโลก

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

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

    ข้อดีของคิวบ์ OLAP

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

    บทนำเกี่ยวกับ OLAP-
    สามารถกำหนดคิวบ์ได้โดย "ตารางสาระสำคัญ" ของ MS Excel ออบเจ็กต์เหล่านี้มีตรรกะและอินเทอร์เฟซที่คล้ายกัน แต่ดังที่เห็นได้จากบทความ ฟังก์ชัน OLAP มีความสมบูรณ์ยิ่งขึ้นอย่างไม่มีใครเทียบได้ และประสิทธิภาพก็สูงขึ้นอย่างไม่มีที่เปรียบ ดังนั้น "ตาราง Pivot" จึงยังคงเป็นผลิตภัณฑ์เดสก์ท็อปในเครื่อง ในขณะที่ OLAP เป็นผลิตภัณฑ์ระดับองค์กร

    เหตุใดคิวบ์ OLAP จึงเหมาะอย่างยิ่งสำหรับการแก้ปัญหาเชิงวิเคราะห์ OLAP cube ได้รับการออกแบบในลักษณะที่ตัวบ่งชี้ทั้งหมดในส่วนที่เป็นไปได้ทั้งหมดได้รับการคำนวณล่วงหน้า (ทั้งหมดหรือบางส่วน) และผู้ใช้สามารถ "ดึง" ตัวบ่งชี้ที่ต้องการ (การวัด) และขนาด (มิติ) ที่ต้องการเท่านั้น เมาส์และโปรแกรมสามารถวาดตารางใหม่ได้

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

    การกำหนดการวิเคราะห์สามารถทำได้ในสามตัวเลือก: เป็นฟิลด์ฐานข้อมูล (หรือฟิลด์คลังสินค้า) หรือฟิลด์การคำนวณที่กำหนดที่ระดับการออกแบบคิวบ์ หรือนิพจน์ภาษา MDX เมื่อทำงานแบบโต้ตอบกับคิวบ์

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

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

    ลองยกตัวอย่าง สมมติว่าผู้จัดการควบคุมบัญชีลูกหนี้ ตราบใดที่ KPI สำหรับลูกหนี้ที่เกินกำหนดชำระเป็นสีเขียว หมายความว่าทุกอย่างเป็นปกติ และไม่จำเป็นต้องดำเนินการใดๆ จากฝ่ายจัดการ หากสีเปลี่ยนเป็นสีเหลืองหรือสีแดง แสดงว่ามีสิ่งผิดปกติ เราตัด KPI ตามแผนกขาย และเห็นแผนกต่างๆ “เป็นสีแดง” ทันที ส่วนถัดไปโดยผู้จัดการ - และผู้ขายที่มีลูกค้าที่อยู่เบื้องหลังการชำระเงินจะถูกระบุ (นอกจากนี้จำนวนเงินที่ค้างชำระสามารถแบ่งตามลูกค้าตามเงื่อนไข ฯลฯ ) หัวหน้า บริษัท สามารถติดต่อผู้ฝ่าฝืนได้โดยตรงทุกระดับ แต่โดยทั่วไปแล้ว ทั้งหัวหน้าแผนกและผู้จัดการฝ่ายขายจะเห็น KPI เดียวกัน (ที่ระดับลำดับชั้น) ดังนั้น เพื่อแก้ไขสถานการณ์ พวกเขาไม่จำเป็นต้องรอ "เรียกร้อง" ด้วยซ้ำ... แน่นอนว่า KPI ไม่จำเป็นต้องเป็นจำนวนเงินที่ค้างชำระ - อาจเป็น ระยะเวลาถัวเฉลี่ยถ่วงน้ำหนักของการชำระเงินที่ค้างชำระหรือโดยทั่วไปคืออัตราการหมุนเวียนของลูกหนี้

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

    ให้เราใส่ใจกับความจริงที่ว่าพนักงานแต่ละคนของ บริษัท สามารถรวบรวมนักวิเคราะห์ OLAP จากภาคสนามทั่วไปได้อย่างแม่นยำถึงการเก็บเกี่ยวที่เขาต้องการสำหรับงานของเขาและอย่าพอใจกับ "แถบ" ที่ถูกตัดออกไปในชุมชน “รายงานมาตรฐาน”

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

    นั่นคือ OLAP cube ช่วยให้คุณทำงานวิเคราะห์ได้ (ซึ่งจริง ๆ แล้วไม่เพียงดำเนินการโดยนักวิเคราะห์แผนกต้อนรับเท่านั้น แต่ในความเป็นจริงแล้วโดยพนักงานเกือบทั้งหมดของ บริษัท แม้แต่นักโลจิสติกส์และผู้จัดการที่ควบคุมยอดคงเหลือและการจัดส่ง) คัดเลือกมากขึ้น “ไม่ใช่เงื่อนไขทั่วไป” ซึ่งสร้างเงื่อนไขในการปรับปรุงงานและเพิ่มผลผลิต

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

    OLTP + OLAP: วงจรป้อนกลับในห่วงโซ่การจัดการของบริษัท

    ตอนนี้เรามาดูแนวคิดทั่วไปของคิวบ์ OLAP และจุดใช้งานในห่วงโซ่การจัดการองค์กร คำว่า OLAP (OnLine Analytical Processing) ได้รับการแนะนำโดยนักคณิตศาสตร์ชาวอังกฤษ Edgar Codd นอกเหนือจากคำที่แนะนำก่อนหน้านี้ OLTP (OnLine Transactions Processing) จะมีการหารือเรื่องนี้ในภายหลัง แต่แน่นอนว่า E. Codd ไม่เพียงเสนอคำศัพท์เท่านั้น แต่ยังรวมถึงทฤษฎีทางคณิตศาสตร์ของ OLTP และ OLAP ด้วย ในการตีความสมัยใหม่ OLTP เป็นฐานข้อมูลเชิงสัมพันธ์ซึ่งถือเป็นกลไกในการบันทึก จัดเก็บ และเรียกค้นข้อมูลโดยไม่ต้องลงรายละเอียด

    วิธีการแก้ปัญหา

    ระบบ ERP (การวางแผนทรัพยากรองค์กร) เช่น 1C7, 1C8, MS Dynamics AX มีอินเทอร์เฟซซอฟต์แวร์ที่มุ่งเน้นผู้ใช้ (การป้อนและแก้ไขเอกสาร ฯลฯ) และฐานข้อมูลเชิงสัมพันธ์ (DB) สำหรับจัดเก็บและเรียกค้นข้อมูลที่นำเสนอในปัจจุบัน ผลิตภัณฑ์ซอฟต์แวร์พิมพ์ MS SQL Server (SS)

    โปรดทราบว่าข้อมูลที่ลงทะเบียนในฐานข้อมูลระบบ ERP ถือเป็นทรัพยากรที่มีค่ามากจริงๆ ประเด็นไม่เพียงแต่ข้อมูลที่ลงทะเบียนช่วยให้มั่นใจถึงการไหลของเอกสารปัจจุบันของบริษัท (การแยกเอกสาร การแก้ไข ความสามารถในการพิมพ์และกระทบยอด ฯลฯ) และไม่เพียงแต่ความเป็นไปได้ในการคำนวณ งบการเงิน(ภาษี การตรวจสอบ ฯลฯ) จากมุมมองของฝ่ายบริหาร สิ่งสำคัญกว่านั้นคือระบบ OLTP (ฐานข้อมูลเชิงสัมพันธ์) นั้นเป็นแบบจำลองดิจิทัลขนาดเท่าจริงของกิจกรรมของบริษัท

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

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

    นอกเหนือจากระบบปกติสำหรับการบันทึกข้อมูลโดยใช้วิธี OLTP แล้ว ยังจำเป็นต้องมีระบบอื่น - ระบบสำหรับการวิเคราะห์ข้อมูลที่รวบรวม ส่วนเสริมนี้ซึ่งในลูปควบคุมมีบทบาทในการตอบรับระหว่างการจัดการและออบเจ็กต์ควบคุม คือระบบ OLAP หรือกล่าวโดยย่อคือ OLAP cube

    ในการใช้งานซอฟต์แวร์ของ OLAP เราจะพิจารณายูทิลิตี้ MS Analysis Services ซึ่งเป็นส่วนหนึ่งของการจัดส่งมาตรฐานของ MS SQL Server หรือ SSAS แบบย่อ โปรดทราบว่าตามแผนของ E. Codd คิวบ์ OLAP ในการวิเคราะห์ควรให้อิสระในการดำเนินการที่ครอบคลุมเช่นเดียวกับที่ระบบ OLTP และฐานข้อมูลเชิงสัมพันธ์ (SQL Server) จัดให้มีในการจัดเก็บและเรียกค้นข้อมูล

    โอแล็ป โลจิสติกส์

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

    เราจะถือว่าบริษัทใช้ระบบ ERP เช่น 1C7 หรือ 1C8 ซึ่งภายในข้อมูลจะถูกบันทึกตามปกติ ฐานข้อมูลของระบบ ERP นี้อยู่บนเซิร์ฟเวอร์บางตัวและได้รับการสนับสนุนโดย MS SQL Server

    นอกจากนี้ เรายังถือว่าเซิร์ฟเวอร์อื่นมีซอฟต์แวร์ติดตั้งอยู่ รวมถึง MS SQL Server พร้อมยูทิลิตี้ MS Analysis Services (SSAS) รวมถึง MS SQL Server Management Studio, MS C#, MS Excel และ MS Visual Studio โปรแกรมเหล่านี้ร่วมกันสร้างบริบทที่จำเป็น: เครื่องมือและอินเทอร์เฟซที่จำเป็นสำหรับนักพัฒนาคิวบ์ OLAP

    เซิร์ฟเวอร์ SSAS มีโปรแกรมแจกจ่ายฟรีที่เรียกว่า blat ซึ่งเรียกว่า (พร้อมพารามิเตอร์) จาก บรรทัดคำสั่งและการให้บริการไปรษณีย์

    ที่สถานีงานของพนักงานภายใน เครือข่ายท้องถิ่นเหนือสิ่งอื่นใด มีการติดตั้งโปรแกรม MS Excel (เวอร์ชันไม่ต่ำกว่า 2003) รวมถึงไดรเวอร์พิเศษเพื่อให้แน่ใจว่า MS Excel ทำงานร่วมกับ MS Analysis Services (เว้นแต่ว่าไดรเวอร์ที่เกี่ยวข้องจะรวมอยู่ใน MS Excel แล้ว)

    เพื่อความชัดเจน เราจะถือว่าเวิร์กสเตชันของพนักงานมี ระบบปฏิบัติการ Windows XP และบนเซิร์ฟเวอร์ - วินโดวส์เซิร์ฟเวอร์ 2008 นอกจากนี้ ให้ MS SQL Server 2005 ใช้เป็น SQL Server โดยติดตั้ง Enterprise Edition (EE) หรือ Developer Edition (DE) บนเซิร์ฟเวอร์ที่มีคิวบ์ OLAP ในฉบับเหล่านี้คุณสามารถใช้สิ่งที่เรียกว่าได้ “มาตรการกึ่งเติมแต่ง” เช่น ฟังก์ชันรวมเพิ่มเติม (สถิติ) นอกเหนือจากผลรวมปกติ (เช่น สุดขั้วหรือค่าเฉลี่ย)

    การออกแบบลูกบาศก์ OLAP (คิวบิสม์ OLAP)

    ลองพูดสักสองสามคำเกี่ยวกับการออกแบบของ OLAP cube เอง ในภาษาของสถิติ OLAP cube คือชุดของตัวบ่งชี้ประสิทธิภาพที่คำนวณในส่วนที่จำเป็นทั้งหมด เช่น ตัวบ่งชี้การจัดส่งในส่วนตามลูกค้า ตามสินค้า ตามวันที่ ฯลฯ เนื่องจากการแปลโดยตรงจากภาษาอังกฤษในวรรณคดีรัสเซียบนคิวบ์ OLAP ตัวบ่งชี้จึงเรียกว่า "มาตรการ" และส่วนต่างๆ เรียกว่า "มิติ" นี่เป็นการแปลที่ถูกต้องทางคณิตศาสตร์ แต่การแปลทางวากยสัมพันธ์และความหมายไม่ประสบความสำเร็จมากนัก คำภาษารัสเซีย "การวัด" "มิติ" "มิติ" เกือบจะเหมือนกันทั้งในด้านความหมายและการสะกดคำ ในขณะที่ "การวัด" และ "มิติ" ในภาษาอังกฤษนั้นแตกต่างกันทั้งในการสะกดและความหมาย ดังนั้นเราจึงให้ความสำคัญกับคำศัพท์ทางสถิติรัสเซียแบบดั้งเดิม "ตัวบ่งชี้" และ "การตัด" ซึ่งมีความหมายคล้ายกัน

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

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

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

    มีเหตุผลหลายประการที่บังคับให้เราต้องทำเช่นนี้

    • ประการแรกการเชื่อมโยงคิวบ์ OLAP เข้ากับตาราง ฐานที่แท้จริงข้อมูลจะสร้างปัญหาทางเทคนิคอย่างแน่นอน การเปลี่ยนแปลงข้อมูลในตารางสามารถทริกเกอร์การรีเฟรชคิวบ์ได้ และการรีเฟรชคิวบ์ไม่จำเป็นต้องเป็นกระบวนการที่รวดเร็ว ดังนั้นคิวบ์จะอยู่ในสถานะของการสร้างใหม่อย่างต่อเนื่อง ในเวลาเดียวกัน ขั้นตอนการอัพเดตคิวบ์สามารถบล็อก (เมื่ออ่าน) ข้อมูลของตารางฐานข้อมูล ทำให้การทำงานของผู้ใช้ในการลงทะเบียนข้อมูลในระบบ ERP ช้าลง
    • ประการที่สอง, การมีตัวบ่งชี้และการตัดมากเกินไปจะทำให้พื้นที่เก็บข้อมูลของคิวบ์บนเซิร์ฟเวอร์เพิ่มขึ้นอย่างมาก อย่าลืมว่า OLAP cube ไม่เพียงแต่เก็บข้อมูลต้นฉบับเช่นเดียวกับในระบบ OLTP เท่านั้น แต่ยังรวมถึงตัวบ่งชี้ทั้งหมดที่สรุปรวมในส่วนที่เป็นไปได้ทั้งหมด (และแม้แต่การรวมทั้งหมดของส่วนทั้งหมด) นอกจากนี้ ความเร็วของการอัปเดตคิวบ์ และท้ายที่สุดแล้ว ความเร็วของการสร้างและอัปเดตการวิเคราะห์และรายงานผู้ใช้ตามสิ่งเหล่านั้นจะลดลงตามลำดับ
    • ที่สาม, ฟิลด์มากเกินไป (ตัวบ่งชี้และส่วน) จะสร้างปัญหาในส่วนต่อประสานนักพัฒนา OLAP เนื่องจาก รายการองค์ประกอบจะมีมากมาย
    • ประการที่สี่ คิวบ์ OLAP มีความไวต่อการละเมิดความสมบูรณ์ของข้อมูลมาก ไม่สามารถสร้างคิวบ์ได้หากข้อมูลคีย์ไม่อยู่ที่ลิงก์ที่ระบุในโครงสร้างของการเชื่อมต่อฟิลด์คิวบ์ การละเมิดความสมบูรณ์ชั่วคราวหรือถาวร ช่องว่างถือเป็นเรื่องปกติในฐานข้อมูลระบบ ERP แต่ไม่เหมาะสำหรับ OLAP เลย

    คุณยังสามารถเพิ่มได้ว่าระบบ ERP และคิวบ์ OLAP ควรอยู่บนเซิร์ฟเวอร์ที่แตกต่างกันเพื่อแชร์โหลด แต่หากมีตารางทั่วไปสำหรับ OLAP และ OLTP ปัญหาการรับส่งข้อมูลเครือข่ายก็เกิดขึ้นเช่นกัน ปัญหาที่ไม่สามารถแก้ไขได้จริงเกิดขึ้นในกรณีนี้เมื่อจำเป็นต้องรวมระบบ ERP ที่แตกต่างกันหลายระบบ (1C7, 1C8, MS Dynamics AX) ไว้ในคิวบ์ OLAP เดียว

    อาจเป็นไปได้ว่าเรายังสามารถสะสมปัญหาทางเทคนิคต่อไปได้ แต่สิ่งสำคัญที่สุดคือ จำไว้ว่า OLAP ต่างจาก OLTP ตรงที่ไม่ใช่วิธีการบันทึกและจัดเก็บข้อมูล แต่เป็นเครื่องมือในการวิเคราะห์ ซึ่งหมายความว่าไม่จำเป็นต้องอัปโหลดและดาวน์โหลดข้อมูล “สกปรก” จาก ERP ไปยัง OLAP “เผื่อไว้” ในทางตรงกันข้าม คุณต้องพัฒนาแนวคิดในการจัดการบริษัทก่อน อย่างน้อยก็ในระดับของระบบ KPI จากนั้นจึงออกแบบคลังข้อมูลแอปพลิเคชัน (คลังสินค้า) ซึ่งอยู่บนเซิร์ฟเวอร์เดียวกันกับคิวบ์ OLAP และประกอบด้วยขนาดเล็ก ปรับปรุงปริมาณข้อมูลจาก ERP ที่จำเป็นสำหรับการจัดการ

    โดยไม่ต้องโปรโมท นิสัยที่ไม่ดีลูกบาศก์ OLAP ที่เกี่ยวข้องกับ OLTP สามารถเปรียบได้กับ "ลูกบาศก์นิ่ง" ที่รู้จักกันดี โดยสกัด "ผลิตภัณฑ์บริสุทธิ์" จาก "มวลหมัก" ของการลงทะเบียนจริง

    ดังนั้นเราจึงพบว่าแหล่งข้อมูลสำหรับ OLAP เป็นฐานข้อมูลพิเศษ (คลังสินค้า) ซึ่งอยู่บนเซิร์ฟเวอร์เดียวกันกับ OLAP โดยทั่วไปนี่หมายถึงสองสิ่ง อันดับแรก จะต้องมีขั้นตอนพิเศษที่จะสร้างคลังสินค้าจากฐานข้อมูล ERP ประการที่สอง OLAP cube ไม่ซิงโครไนซ์กับระบบ ERP

    เมื่อคำนึงถึงสิ่งที่กล่าวมาข้างต้น เราขอเสนอสถาปัตยกรรมกระบวนการประมวลผลเวอร์ชันต่อไปนี้

    สถาปัตยกรรมโซลูชัน

    สมมติว่ามีระบบ ERP จำนวนมากของบริษัทบางแห่ง (ถือครอง) ซึ่งอยู่บนเซิร์ฟเวอร์ที่แตกต่างกัน ข้อมูลการวิเคราะห์ที่เราต้องการจะดูรวมอยู่ในคิวบ์ OLAP เดียว เราเน้นย้ำว่าในเทคโนโลยีที่อธิบายไว้ เรารวมข้อมูลจากระบบ ERP ที่ระดับคลังสินค้า โดยไม่เปลี่ยนแปลงการออกแบบคิวบ์ OLAP

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

    ถัดไป SP (ขั้นตอนการจัดเก็บ) จะถูกเปิดใช้งานซึ่งบนเซิร์ฟเวอร์ OLAP เดียวกันโดยไม่มีการรับส่งข้อมูลเครือข่าย โดยอิงตามแบบจำลองบางส่วนของฐานข้อมูลระบบ ERP จะสร้าง (หรือเติมเต็ม) คลังสินค้า (คลังสินค้า) - แหล่งข้อมูลของคิวบ์ OLAP

    จากนั้น ขั้นตอนมาตรฐานสำหรับการอัพเดต/การสร้างคิวบ์ตามข้อมูลคลังสินค้าจะถูกเปิดใช้งาน (การดำเนินการประมวลผลในอินเทอร์เฟซ SSAS)

    ขอแสดงความคิดเห็นเกี่ยวกับบางแง่มุมของเทคโนโลยี สปส.ทำงานด้านใดบ้าง?

    จากการจำลองแบบบางส่วน ข้อมูลปัจจุบันจึงปรากฏในรูปภาพของระบบ ERP บางระบบบนเซิร์ฟเวอร์ OLAP อย่างไรก็ตาม การจำลองแบบบางส่วนสามารถทำได้สองวิธี

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

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

    แน่นอนว่าเป็นไปไม่ได้ที่จะไม่คัดลอกแถวทั้งหมดของตาราง แต่จะเพิ่มระเบียนใหม่เท่านั้น อย่างไรก็ตาม สิ่งนี้ทำให้เกิดความไม่สะดวกอย่างร้ายแรงเมื่อคำนึงถึงการแก้ไข ERP "ย้อนหลัง" ซึ่งมักเกิดขึ้นกับระบบในชีวิตจริง ดังนั้นจึงง่ายกว่าโดยไม่ต้องกังวลใจอีกต่อไปในการคัดลอกบันทึกทั้งหมด (หรืออัปเดต "ส่วนท้าย" โดยเริ่มจากวันที่กำหนด)

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

    งานในการรวมระบบ ERP ที่แตกต่างกันหลายระบบไว้ในคิวบ์จะยากเป็นพิเศษหากชุดของอ็อบเจ็กต์ (ไดเร็กทอรีของสินค้า, ผู้รับเหมา, คลังสินค้า ฯลฯ) ทับซ้อนกันบางส่วน อ็อบเจ็กต์มีความหมายเหมือนกัน แต่โดยธรรมชาติแล้วจะอธิบายแตกต่างกันในไดเร็กทอรี ระบบที่แตกต่างกัน(ในแง่ของรหัส ตัวระบุ ชื่อ ฯลฯ)

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

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

    นี่คือคำอธิบาย "การสอน" แบบเห็นภาพ ที่จริงแล้ว สถาปัตยกรรมของคิวบ์ OLAP อาจซับซ้อนกว่านี้มาก

    ประการแรก คลังสินค้าสามารถประกอบด้วย "ดาว" หลายดวง ซึ่งอาจเชื่อมต่อกันผ่านไดเร็กทอรีทั่วไป ในกรณีนี้ OLAP คิวบ์จะเป็นการรวมหลายคิวบ์ (หลายบล็อกข้อมูล)

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

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

    ประการที่สี่ ขึ้นอยู่กับตัวบ่งชี้และส่วนที่มีอยู่ โดยใช้นิพจน์ภาษา MDX สามารถกำหนดตัวบ่งชี้ใหม่ (การคำนวณ) ได้ สิ่งสำคัญคือต้องทราบว่าคิวบ์ใหม่ ตัวบ่งชี้ใหม่ ส่วนใหม่จะถูกรวมเข้ากับองค์ประกอบดั้งเดิมโดยสมบูรณ์โดยอัตโนมัติ ควรสังเกตว่าการคำนวณที่มีการกำหนดสูตรไม่ดีและส่วนลำดับชั้นอาจทำให้การทำงานของคิวบ์ OLAP ช้าลงอย่างมาก

    MS Excel เป็นส่วนต่อประสานกับ OLAP

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

    นอกจาก SSAS แล้ว ยังมีโปรแกรมอีกมากมายที่ให้อินเทอร์เฟซกับ OLAP ซึ่งครอบคลุมฟังก์ชันการทำงานไม่มากก็น้อย แต่ในหมู่พวกเขามีสิ่งหนึ่งที่มีข้อได้เปรียบที่ปฏิเสธไม่ได้ในความคิดของเรา นี่คือ MS Excel

    อินเทอร์เฟซสำหรับ MS Excel มีให้โดยไดรเวอร์พิเศษ ซึ่งสามารถดาวน์โหลดแยกต่างหากหรือรวมอยู่ในการแจกจ่าย Excel ไม่ครอบคลุมฟังก์ชันการทำงานทั้งหมดของ OLAP แต่ด้วยการเติบโตของหมายเลขเวอร์ชัน MS Excel ความครอบคลุมนี้จึงกว้างขึ้น (ตัวอย่างเช่น การแสดง KPI แบบกราฟิกปรากฏใน MS Excel 2007 ซึ่งไม่ใช่กรณีใน MS Excel 2003 ฯลฯ)

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

    ข้อได้เปรียบที่ยอดเยี่ยมของ MS Excel ในฐานะอินเทอร์เฟซกับ OLAP คือความสามารถในการประมวลผลข้อมูลที่ได้รับในรายงาน OLAP ได้อย่างอิสระเพิ่มเติม (เช่น ศึกษาข้อมูลที่ได้รับจาก OLAP ต่อไปบนแผ่นงานอื่นของ Excel เดียวกัน โดยไม่ได้ใช้เครื่องมือ OLAP อีกต่อไป แต่ โดยใช้เครื่องมือ Excel ทั่วไป)

    วงจรการรักษา Facubi ทุกคืน

    ตอนนี้เราจะอธิบายวงจรการคำนวณรายวัน (ทุกคืน) ของการดำเนินการ OLAP การคำนวณดำเนินการภายใต้การควบคุมของโปรแกรม facubi ซึ่งเขียนด้วยภาษา C# 2005 และเปิดใช้งานผ่าน Task Scheduler บนเซิร์ฟเวอร์ที่มีคลังสินค้าและ SSAS ในตอนเริ่มต้น facubi ไปที่อินเทอร์เน็ตและอ่านอัตราแลกเปลี่ยนปัจจุบัน (ใช้เพื่อแสดงตัวบ่งชี้จำนวนหนึ่งในสกุลเงิน) จากนั้นทำตามขั้นตอนต่อไปนี้

    ขั้นแรก facubi เปิดตัว SP ที่ทำการจำลองฐานข้อมูลบางส่วนของระบบ ERP ต่างๆ (องค์ประกอบที่เก็บ) ที่มีอยู่ในเครือข่ายท้องถิ่น การจำลองแบบจะดำเนินการดังที่เรากล่าวไว้ใน "พื้นหลัง" ที่เตรียมไว้ล่วงหน้า - รูปภาพของระบบ ERP ระยะไกลที่อยู่บนเซิร์ฟเวอร์ SSAS

    ประการที่สอง ผ่าน SP การแมปจะดำเนินการจากแบบจำลอง ERP ไปยังที่จัดเก็บคลังสินค้า - ฐานข้อมูลพิเศษซึ่งเป็นแหล่งที่มาของข้อมูลคิวบ์ OLAP และตั้งอยู่บนเซิร์ฟเวอร์ SSAS ในกรณีนี้ งานหลักสามประการจะได้รับการแก้ไข:

    • ข้อมูลระบบอีอาร์พีปรับเป็นรูปแบบคิวบ์ที่ต้องการ เรากำลังพูดถึงทั้งตารางและเขตข้อมูลตาราง (บางครั้งตารางที่ต้องการจำเป็นต้อง "จัดรูปแบบ" เช่น จากแผ่นงาน MS Excel หลายแผ่น) ข้อมูลที่คล้ายกันอาจมีรูปแบบที่แตกต่างกันใน ERP ที่แตกต่างกัน ตัวอย่างเช่น ฟิลด์รหัสคีย์ในไดเร็กทอรี 1C7 มีรหัสอักขระ 36 หลักที่มีความยาว 8 และฟิลด์ _idrref ในไดเร็กทอรี 1С8 – เลขฐานสิบหกที่มีความยาว 32;
    • ระหว่างการประมวลผล มีการดำเนินการควบคุมข้อมูลเชิงตรรกะ (รวมถึงการเขียนค่าเริ่มต้นแทนข้อมูลที่หายไป หากเป็นไปได้) และการควบคุมความสมบูรณ์ เช่น ตรวจสอบการมีอยู่ของคีย์หลักและรองในลักษณนามที่เกี่ยวข้อง
    • การรวมรหัส วัตถุที่มีความหมายเหมือนกันใน ERP ที่แตกต่างกัน ตัวอย่างเช่น องค์ประกอบที่สอดคล้องกันของไดเร็กทอรีของ ERP ที่แตกต่างกันอาจมีความหมายเหมือนกัน กล่าวคือ เป็นคู่สัญญาเดียวกัน ปัญหาของการรวมโค้ดได้รับการแก้ไขโดยการสร้างตารางการแมป โดยที่โค้ดที่แตกต่างกันของออบเจ็กต์เดียวกันจะถูกรวมเป็นหนึ่งเดียว

    ประการที่สาม facubi เรียกใช้ขั้นตอนมาตรฐานสำหรับการอัพเดตข้อมูล Process cube (จากขั้นตอนของยูทิลิตี SSAS)

    ตามรายการตรวจสอบ facubi จะส่งอีเมลเกี่ยวกับความคืบหน้าของขั้นตอนการประมวลผล

    หลังจากดำเนินการ facubi แล้ว Task Scheduler จะเปิดไฟล์ Excel หลายไฟล์ตามลำดับ ซึ่งรายงานจะถูกสร้างขึ้นล่วงหน้าตามตัวบ่งชี้คิวบ์ OLAP ดังที่เราได้กล่าวไว้ MS Excel มีอินเทอร์เฟซซอฟต์แวร์พิเศษ (ดาวน์โหลดแยกต่างหากหรือมีไดรเวอร์ในตัว) สำหรับการทำงานกับคิวบ์ OLAP (พร้อม SSAS) เมื่อคุณเริ่ม MS Excel โปรแกรม MS VBA (เช่น มาโคร) จะถูกเปิดใช้งาน ซึ่งช่วยให้มั่นใจว่าข้อมูลในรายงานได้รับการอัปเดต รายงานจะได้รับการแก้ไขหากจำเป็นและส่งทางไปรษณีย์ (โปรแกรม blat) ไปยังผู้ใช้ตามรายการตรวจสอบ

    ผู้ใช้เครือข่ายท้องถิ่นที่สามารถเข้าถึงเซิร์ฟเวอร์ SSAS จะได้รับรายงาน "สด" ที่กำหนดค่าสำหรับคิวบ์ OLAP (โดยหลักการแล้ว พวกเขาเองโดยไม่ต้องส่งเมลใด ๆ สามารถอัปเดตรายงาน OLAP ใน MS Excel ซึ่งอยู่บนเครื่องคอมพิวเตอร์ของตนได้) ผู้ใช้นอกเครือข่ายท้องถิ่นจะได้รับรายงานต้นฉบับ แต่มีฟังก์ชันการทำงานที่จำกัดหรือสำหรับพวกเขา (หลังจากอัปเดต OLAP รายงานใน MS Excel) รายงานพิเศษ "เสีย" ที่ไม่เข้าถึงเซิร์ฟเวอร์ SSAS จะถูกคำนวณ

    การประเมินผล

    เราได้กล่าวไว้ข้างต้นเกี่ยวกับความไม่ตรงกันของ OLTP และ OLAP ในตัวแปรเทคโนโลยีที่อยู่ระหว่างการพิจารณา วงจรการอัปเดตคิวบ์ OLAP จะดำเนินการในเวลากลางคืน (เช่น เริ่มเวลา 01.00 น.) ซึ่งหมายความว่าในวันทำการปัจจุบัน ผู้ใช้กำลังทำงานกับข้อมูลของเมื่อวาน เนื่องจาก OLAP ไม่ใช่เครื่องมือบันทึก (ดูเอกสารฉบับแก้ไขล่าสุด) แต่เป็นเครื่องมือการจัดการ (เข้าใจแนวโน้มของกระบวนการ) ความล่าช้าดังกล่าวจึงมักไม่สำคัญ อย่างไรก็ตาม หากจำเป็น แม้ในเวอร์ชันที่อธิบายไว้ของสถาปัตยกรรมคิวบ์ (MOLAP) ก็สามารถดำเนินการอัปเดตได้หลายครั้งต่อวัน

    เวลาดำเนินการของขั้นตอนการอัพเดตขึ้นอยู่กับคุณสมบัติการออกแบบของคิวบ์ OLAP (ความซับซ้อนมากหรือน้อย คำจำกัดความของตัวบ่งชี้และส่วนที่ประสบความสำเร็จไม่มากก็น้อย) และปริมาณฐานข้อมูลของระบบ OLTP ภายนอก ตามประสบการณ์ ขั้นตอนการก่อสร้างคลังสินค้าใช้เวลาหลายนาทีถึงสองชั่วโมง ขั้นตอนการอัปเดตคิวบ์ (กระบวนการ) จะใช้เวลาตั้งแต่ 1 ถึง 20 นาที เรากำลังพูดถึงคิวบ์ OLAP ที่ซับซ้อนซึ่งรวมโครงสร้างดาวหลายสิบรายการเข้าด้วยกัน “รังสี” ทั่วไปหลายสิบรายการ (ส่วนอ้างอิง) สำหรับพวกมัน และตัวบ่งชี้หลายร้อยตัว การประมาณปริมาณฐานข้อมูลของระบบ ERP ภายนอกตามเอกสารการจัดส่ง เรากำลังพูดถึงเอกสารหลายแสนฉบับและตามด้วยสายผลิตภัณฑ์นับล้านต่อปี ความลึกของการประมวลผลในอดีตที่ผู้ใช้สนใจคือสามถึงห้าปี

    เทคโนโลยีดังกล่าวได้ถูกนำมาใช้ในองค์กรขนาดใหญ่หลายแห่ง: ตั้งแต่ปี 2551 ใน Russian Fish Company (RRK) และ Russian Sea Company (RM) ตั้งแต่ปี 2555 ในบริษัท Santa Bremor (SB) บริษัทบางแห่งส่วนใหญ่เป็นบริษัทการค้าและการจัดซื้อ (PPC) ส่วนบริษัทอื่นๆ เป็นบริษัทผู้ผลิต (โรงงานแปรรูปปลาและอาหารทะเลในสาธารณรัฐมอลโดวาและสาธารณรัฐเบลารุส) บริษัททั้งหมดถือหุ้นใหญ่ โดยรวมบริษัทหลายแห่งเข้ากับระบบบัญชีคอมพิวเตอร์ที่เป็นอิสระและหลากหลาย ตั้งแต่ระบบ ERP มาตรฐาน เช่น 1C7 และ 1C8 ไปจนถึงระบบบัญชี "โบราณ" ที่ใช้ DBF และ Excel ฉันจะเสริมว่าเทคโนโลยีที่อธิบายไว้สำหรับการใช้งานคิวบ์ OLAP (โดยไม่คำนึงถึงขั้นตอนการพัฒนา) ไม่จำเป็นต้องใช้พนักงานพิเศษเลยหรือเป็นความรับผิดชอบของนักวิเคราะห์ธุรกิจเต็มเวลาคนหนึ่ง งานดังกล่าวดำเนินการโดยอัตโนมัติมานานหลายปี ทำให้พนักงานองค์กรประเภทต่างๆ ได้รับรายงานที่ทันสมัยทุกวัน

    ข้อดีข้อเสียของการแก้ปัญหา

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

    MS Excel เป็นอินเทอร์เฟซกับ OLAP ให้การแสดงออกที่เพียงพอและช่วยให้พนักงานสำนักงานประเภทต่างๆ คุ้นเคยกับเทคโนโลยี OLAP ได้อย่างรวดเร็ว ผู้ใช้จะได้รับรายงาน OLAP “มาตรฐาน” ทุกวัน การใช้อินเทอร์เฟซ MS Excel กับ OLAP สามารถสร้างรายงาน OLAP ใน MS Excel ได้อย่างอิสระ นอกจากนี้ผู้ใช้สามารถศึกษาข้อมูลรายงาน OLAP ต่อไปได้อย่างอิสระโดยใช้ความสามารถปกติของ MS Excel

    ฐานข้อมูลคลังสินค้า "ที่ได้รับการปรับปรุง" ซึ่งมีการรวมระบบ ERP ที่ต่างกันหลายระบบเข้าด้วยกัน (ระหว่างการสร้างคิวบ์) แม้ว่าจะไม่มี OLAP ก็ตาม ก็ช่วยให้คุณแก้ไขได้ (บนเซิร์ฟเวอร์ SSAS โดยใช้วิธีสืบค้นใน Transact SQL หรือวิธี SP ฯลฯ) ปัญหาการจัดการที่ประยุกต์ใช้มากมาย ขอให้เราจำไว้ว่าโครงสร้างฐานข้อมูลคลังสินค้าเป็นหนึ่งเดียวและง่ายกว่ามาก (ในแง่ของจำนวนตารางและจำนวนฟิลด์ของตาราง) มากกว่าโครงสร้างฐานข้อมูลของ ERP ดั้งเดิม

    เราทราบเป็นพิเศษว่าในโซลูชันที่เรานำเสนอ มีความเป็นไปได้ที่จะรวมระบบ ERP ต่างๆ ไว้ใน OLAP cube เดียว สิ่งนี้ช่วยให้คุณได้รับการวิเคราะห์สำหรับการถือครองทั้งหมดและรักษาความต่อเนื่องในระยะยาวในการวิเคราะห์เมื่อองค์กรย้ายไปยังระบบ ERP การบัญชีอื่น เช่น เมื่อย้ายจาก 1C7 เป็น 1C8

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

    โดยสรุป นี่เป็นอีกข้อโต้แย้งที่สนับสนุน OLAP ที่อาจเหมาะสมกว่าในยุคกลาง เพราะอำนาจในการพิสูจน์หลักฐานขึ้นอยู่กับอำนาจ อี. คอดด์ นักคณิตศาสตร์ชาวอังกฤษผู้เจียมเนื้อเจียมตัวและประเมินต่ำเกินไปอย่างชัดเจนได้พัฒนาทฤษฎีฐานข้อมูลเชิงสัมพันธ์ในช่วงปลายทศวรรษที่ 60 พลังของทฤษฎีนี้ทำให้หลังจากผ่านไป 50 ปีแล้ว การค้นหาฐานข้อมูลที่ไม่เกี่ยวข้องและภาษาคิวรีฐานข้อมูลอื่นที่ไม่ใช่ SQL เป็นเรื่องยากอยู่แล้ว

    เทคโนโลยี OLTP ซึ่งใช้ทฤษฎีฐานข้อมูลเชิงสัมพันธ์เป็นแนวคิดแรกของ E. Codd ในความเป็นจริง แนวคิดของคิวบ์ OLAP เป็นแนวคิดที่สองของเขา ซึ่งแสดงออกโดยเขาในช่วงต้นทศวรรษที่ 90 แม้จะไม่ได้เป็นนักคณิตศาสตร์ คุณก็สามารถคาดหวังได้ว่าแนวคิดที่สองจะมีประสิทธิภาพเท่ากับแนวคิดแรก นั่นคือในแง่ของการวิเคราะห์คอมพิวเตอร์ แนวคิด OLAP จะเข้ายึดครองโลกในไม่ช้าและเข้ามาแทนที่แนวคิดอื่นๆ ทั้งหมด เพียงเพราะหัวข้อการวิเคราะห์พบวิธีแก้ปัญหาทางคณิตศาสตร์ที่ครอบคลุมใน OLAP และวิธีการแก้ปัญหานี้ "เพียงพอ" (คำศัพท์ของ B. Spinoza) สำหรับปัญหาเชิงปฏิบัติของการวิเคราะห์ “เพียงพอ” หมายถึงในสปิโนซาว่าพระเจ้าเองก็ไม่สามารถคิดอะไรได้ดีไปกว่านี้แล้ว...

    1. Larson B. การพัฒนาการวิเคราะห์ธุรกิจใน Microsoft SQL Server 2005 – เซนต์ปีเตอร์สเบิร์ก: “Peter”, 2008
    2. Codd E. ความสมบูรณ์เชิงสัมพันธ์ของภาษาย่อยฐานข้อมูล, ระบบฐานข้อมูล, Courant วิทยาการคอมพิวเตอร์ Sumposia Series 1972, v. 6, หน้าผา Englwood, N.Y., Prentice – Hall

    ติดต่อกับ