我正在尝试使用包含有关帮助台服务调用信息的 Excel 表中的星型模式设计我的第一个数据集市,该表包含 33 个字段,包括不同的信息,我无法识别事实表,因为我想做稍后根据不同的 KPI 报告。我想知道如何轻松识别事实表度量,我还有一个问题是:事实表可以只包含维度的外键而没有度量吗?在此先感谢大家,并为我的英语不好感到抱歉。
2 回答
您可以拥有多个事实表。
事实表代表您要分析的事件或过程。
事实表的结构取决于您尝试分析的过程或事件。
您需要告诉我们您想要分析的事件或流程,然后我们才能进一步帮助您。
事实表可以只包含维度的外键而不包含度量吗?
是的。这称为无事实事实表。
假设您要对调用进行基本分析:
您的完整表可能如下所示
CALL_ID
START_DATE
DURATION
AGENT_NAME
AGENT_TENURE (how long worked for company)
CUSTOMER_NAME
CUSTOMER_TENURE (how long a customer)
PRODUCT_NAME (the product the customer is calling about)
RESOLVED
你可以把它变成这样的事实表:
CALL_ID
START_DATE_KEY
AGENT_KEY
CUSTOMER_KEY
PRODUCT_KEY
DURATION (measure)
RESOLVED (quasi-measure)
您将拥有一个 DATE 维度表、AGENT 维度表、CUSTOMER 维度表和 PRODUCT 维度表。
敏捷数据仓库设计是一本好书,Kimball 的书也是。
一般来说,我所做的方式(并且有很多方法可以做任何事情)是在事实表中使用 FKey 引用分类数据,但是您想要对其执行聚合的任何内容(通常作为数据类型$/integers/doubles 等)也可以在事实表中。例如,事实表可能包含类型层次结构,例如 product_category >> product_name,它通常还包含时间和/或位置字段;所有这些都将由 FKEY 引用到查找表。度量列通常是基于整数或货币数据,并用于按其他字段分组的聚合函数,如下所示:
select sum(measureOne) as sum, product_category from facttable
where timeCol between X and Y group by product_category...etc
At one time a few years ago, I did have a fact table that had no measure column... because the only measure I had was based on count, which I would do dynamically by grouping different dimensions in the fact table.