【问题标题】:Identifying the fact table in data warehouse design识别数据仓库设计中的事实表
【发布时间】:2015-07-14 21:21:10
【问题描述】:

我正在尝试使用包含有关帮助台服务调用信息的 Excel 表中的星型模式设计我的第一个数据集市,该表包含 33 个字段,包括不同的信息,我无法识别事实表,因为我想要稍后根据不同的 KPI 进行报告。 我想知道如何轻松识别事实表度量,我还有另一个问题是:事实表可以只包含维度的外键而没有度量吗?在此先感谢大家,并为我的英语不好感到抱歉。

【问题讨论】:

    标签: data-warehouse olap business-intelligence datamart


    【解决方案1】:
    1. 您可以拥有多个事实表。

    2. 事实表表示您要分析的事件或过程。

    3. 事实表的结构取决于您尝试分析的过程或事件。

    4. 您需要告诉我们您想要分析的事件或流程,然后我们才能进一步帮助您。

    事实表可以只包含维度的外键而不包含度量吗?

    是的。这称为factless fact table


    假设您要对调用进行基本分析:

    您的完整表格可能如下所示

    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 维度表。

    Agile Data Warehouse Design 是一本好书,Kimball 的书也是。

    【讨论】:

    • 非常感谢,我还有一个问题:我们可以在事实表中存储一些计算的度量吗?
    • 非常感谢,您的回答很有帮助
    【解决方案2】:

    一般来说,我所做的方式(并且有很多方法可以做任何事情)是在事实表中使用 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
    

    几年前的某个时候,我确实有一个没有度量列的事实表...因为我唯一的度量是基于计数的,我会通过在事实表中对不同维度进行分组来动态地做到这一点。

    【讨论】:

    • 非常感谢,我还有一个问题:我们可以在事实表中存储一些计算的度量吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-16
    • 2019-07-28
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 2023-03-23
    • 2019-04-25
    相关资源
    最近更新 更多