gpt4 book ai didi

database - 维度建模 : need help doing this star for a university

转载 作者:搜寻专家 更新时间:2023-10-30 23:48:07 24 4
gpt4 key购买 nike

我是维度建模的新手,我正在为一所大学制作维度模型。我选择的当前业务流程实际上是销售额/收入。我一直在阅读不同书籍的不同章节,虽然我认为我对事实和维度有很好的理解,但我很难将销售过程写到纸上。

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

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

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???

现在对于某些类型的产品(例如成绩单申请费)——我没有类(class)名称、代码、学期、类(class)——我不知道这将如何运作。

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

谢谢,

最佳答案

以后你会发现很多这样的案例。通常,您遇到此问题是因为您在您的案例中混合了两种不同类型的“产品”。

可以从逻辑上或技术上解决。

在ETL过程中,在清理步骤中,您可以使用与字段相关的sql(nvl,coalesce,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

关于database - 维度建模 : need help doing this star for a university,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25392486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com