繁体   English   中英

维度建模:需要帮助,才能成为一所大学的明星

[英]Dimension Modeling: need help doing this star for a university

我是Dimension Modeling的新手,正在为大学做维度模型。 我目前掌握的当前业务流程实际上是销售/收入。 我一直在阅读不同书籍的不同章节,尽管我认为我对事实和维度有很好的理解,但我在将销售过程适应本文的过程中仍遇到一些困难。

理想情况下,学校的销售过程类似于其他业务,在这些业务中,学生是客户,产品是他们选择的“课程”。 但是在某些情况下会有不同的产品类型,我不知道如何适应该产品类型。 例如,学生支付与任何课程无关的申请费,滞纳金或成绩单请求费。 如何在明星中适应这些不同类型的收入来源?

我到目前为止所做的就是这样

Sales_FACT
====
Date_Key_FK
Product_Key_FK
Campus_Key_FK
Student_Key_FK
ChargeCredit_SKU
Amount


Product_Key
------
Product_Key_PK
SectionID
AcademicYear
AcademicTerm
AcademicSession
CourseCode
CourseName
ProductType???

现在,对于某些类型的产品(例如,成绩单索取费)-我没有课程名称,代码,学期,课程-我正在努力地工作。

有人对此有任何意见吗? 或任何有用的材料/模式示例一定会感激他们

谢谢,

将来您会发现很多这样的情况。 通常,您遇到此问题是因为您要混合两种不同类型的“产品”。

它可以在逻辑上或技术上解决。

在ETL过程中,在清理步骤中,您可以使用与字段相关的内容用sql(nvl,coalcece,CASE WHEN)重写空字段。

nvl(CourseCode, 'No Course Code') as CourseCode

然后,当您按ProductType和CourseName分组时,您应该得到如下所示的内容:

ProductType     CourseName     sum(Amount)
------------------------------------------
AppFee          Course1             345.13
AppFee          Course4            8901.00
TranscriptFee   No Course Name      245.99

或者,您可以将其放在单独的表中。 即使这与您的业务流程相矛盾(事实行中不能有不同的产品),有时您想要合并的术语(例如ApplicationFee和TranscriptFee)也具有许多不同的分组级别,这通常很难映射。

编辑:

不,当存在大尺寸表,高基数,许多级别以及多对多关系(即电影,类别)时,雪花就有意义。 在您的情况下,最好遵循ERP / CRM数据库设计,因为它是当前可行的解决方案。 如果没有所需的报告可能性,则可以制作更通用的维表:

Product-Service Dimension
--------------------------------------------
SurogateKey
NaruralKey
Type(Product/Sevrice/Other)
Level1(ProductType/ServiceType)
Level2(ProductSubType/ServiceSubType)
Level3
Level4
Attribute1
Attribute2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM