Metabase学习教程:模型-2

本教程介绍了如何使用Metabase为事实表建模,以支持快速、易于使用的数据分析。内容涵盖事实表设计、实现、用例测试和性能提升,旨在帮助用户构建分析引擎,处理时间序列数据,用于客户流失、账户活跃度等分析问题。
摘要由CSDN通过智能技术生成

事实表分析引擎

如何根据实际分析用例为事实表建模。

目标数据建模是为了快速(用于处理查询的引擎),以及容易(针对编写这些查询的人)获取数据。

大多数数据仓库实践是为了强调速度。分析引擎(一个术语 popularized by dbt,有时也会捆绑到术语中全栈分析)是为可用性数据建模的过程。即使这不是你所说的,无论何时当你需要把一个策展数据集,一个分段或指标,或仪表板与他人协同,都可以实践分析引擎。

本教程将向您展示如何将分析引擎方法应用于数据仓库更具体地说,对于一种称为事实数据表.

介绍

维度表包含一个时间点的数据快照,例如在工作日结束时,您拥有的部分完成的杯子的数量。

| time                   | total mugs |

|---------------------|------------|

| 2022-08-16 17:30:00 | 3            |

事实数据表包含一个历史信息,比如你一天喝咖啡的速度。

| time                   | mug       | coffee remaining |

|---------------------|----------|------------------|

| 2022-08-16 08:00:00 | 1        | 100%             |

| 2022-08-16 08:01:00 | 1        | 0%               |

| 2022-08-16 09:00:00 | 2        | 100%             |

| 2022-08-16 12:00:00 | 3        | 100%             |

| 2022-08-16 12:30:00 | 3        | 99%              |

| 2022-08-16 17:30:00 | 3        | 98%              |

事实表和维度表依据星型模型(或密切相关的雪花模型)在数据仓库中组织信息。

如果出现以下情况,您可能需要构建事实表:

  • 您的数据源(生成数据的系统,如应用程序数据库)只存储当前信息快照,方法是将其保存在前一个快照上。
  • 你正在创建一个支持嵌入式分析的数据集为您的客户。独立的事实表非常适合自助分析,因为它们可以覆盖广泛的用例不依赖连接。

但是在我们开始之前,让我们在你每天的咖啡因总量中再加一杯,我们还有很多要做的!

| time                   | total mugs |

|---------------------|------------|

| CURRENT_TIMESTAMP() | n+1        |

概述

在本教程中,我们将使用维度表account,例如从CRM中获取的维度表。让我们假设一下account维度表存储客户的当前状态,当前状态由应用程序更新。

这个account表如下所示:

| id               | country     | type       | status    |

|------------------|-------------|------------|-----------|

| 941bfb1b2fdab087 | Croatia     | Agency     | Active    |

| dbb64fd5c56e7783 | Singapore   | Partner    | Active    |

| 67aae9a2e3dccb4b | Egypt       | Partner    | Inactive  |

| ced40b3838dd9f07 | Chile       | Advertiser | Test      |

| ab7a61d256fc8edd | New Zealand | Advertiser | Inactive  |

第1部分:设计事实表

基于account,我们需要考虑人们可能会问的关于客户帐户随时间变化的分析问题。自从account表包含status字段,我们可以回答以下问题:

第2部分:实现事实表

从数据存储在account创造fact_account,我们将编写一个SQL脚本:

  1. 初始化fact_account今天的account数据。
  2. 获取中的行的快照account(假设它被另一个系统更新)。
  3. 比较每天的account中的历史数据快照fact_account.
  4. 在中插入新行fact_account对于自前一天快照后更改的每个帐户。

第3部分:使用常见用例测试事实表

为了检查我们的事实表在实践中是否有用,我们将使用Metabase设置它,并尝试回答我们所有的三个示例分析问题。

第4部分:改进事实表性能

本教程的最后一节将让您了解在扩展事实表以容纳更多历史记录(和更多问题!)时迭代它的外观。

如何遵循本教程

如果您想将下面的步骤应用于您自己的数据,我们建议您使用由源系统定期更新的维度表,以及

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值