มาตรการและขนาดในลูกบาศก์คืออะไร


21

ฉันยังใหม่กับ Microsoft Sql Server Business Intelligence และAnalysis Service(แต่ฉันเขียนโปรแกรมเป็นเวลาหลายปีกับ SQL Server) ใครสามารถอธิบายมาตรการและมิติในคิวบ์ได้ในคำง่ายๆ (ถ้าเป็นไปได้กับรูปภาพ)?

ขอบคุณ

คำตอบ:


39

คิดเกี่ยวกับกระบวนการหรือเหตุการณ์ที่คุณต้องการวิเคราะห์

สมมติว่าคุณกำลังสร้างLougle Analytics และต้องการวิเคราะห์การเข้าชม (ตรงข้ามกับคำขอหน้าเดียว) ไปยังเว็บไซต์ของคุณ เยี่ยมชมเว็บไซต์เป็นกระบวนการ

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

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

  • ข้อมูลเกี่ยวกับเว็บเบราว์เซอร์ (ยี่ห้อ, ความละเอียดหน้าจอ, ... )
  • ข้อมูลเกี่ยวกับผู้ใช้ (ประเทศรัฐเมือง ISP ตามที่อยู่ IP ของพวกเขา)
  • ข้อมูลเกี่ยวกับช่วงเวลาที่เริ่มต้นการเยี่ยมชม (ปีไตรมาสเดือนสัปดาห์วัน)
  • ระยะเวลาของการเยี่ยมชม
  • หน้าอ้างอิงหน้า Landing Page และหน้าออก (ชื่อเรื่องเส้นทาง URL)
  • จำนวนหน้าที่เยี่ยมชมระหว่างการเยี่ยมชม

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

ดังนั้นตารางความจริงของคุณจะเป็นดังนี้:

web_browser_key          bigint
ip_address_key           bigint
start_date_key           int
referring_page_key       bigint
landing_page_key         bigint
exit_page_key            bigint
duration_seconds         int
number_of_pages_visited  int

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

ตารางอื่น ๆ เรียกว่าตารางขนาดและip_addressตารางมิติอาจมีลักษณะเช่นนี้:

ip_address_key  bigserial primary key, /* use meaningless surrogate keys */
ip_address      inet unique,
country         text,
division        text,
locality        text,
latitude        numeric(8,6),
longitude       numeric(9,6)

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

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

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

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

†มักจะไม่มีกุญแจต่างประเทศ


ฉันชอบคำอธิบายด้วยตัวอย่าง แต่เป็นปัญหาเล็ก ๆ - ไม่มีการพูดถึงcityใน schemas ของคุณดังนั้นเมื่อคุณพูดว่าcountry could be derived from cityฉันไม่ได้เป็นบวกสิ่งที่คุณหมายถึง
Don Cheadle

@mmcrae 'locality' เป็นชื่อสามัญของเมือง / หมู่บ้าน / หมู่บ้าน
Neil McGuigan

13

ในภาพด้านล่างซึ่งเป็นตัวอย่างของ Star Schema พื้นฐาน Dimensions คือ Dim_Tables

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

ในตาราง fact_sales คุณมีเพียงหน่วยวัดเดียวซึ่งก็คือ Units_Sold

มาตรการ (ในระดับที่ง่ายที่สุด) เป็นเพียงสิ่งที่คุณต้องการรวมเมื่อวิเคราะห์ตามเกณฑ์ในมิติ

แผนผังดาวพื้นฐาน

หากมีสิ่งใดเพิ่มเติมที่เฉพาะเจาะจงที่คุณต้องการทราบโปรดแจ้งให้เราทราบ


ดูเหมือนว่าภาพนี้มาจากวิกิพีเดีย: en.wikipedia.org/wiki/Star_schema คุณควรพูดถึงมัน
Scarabee
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.