滚动周期表或 CTE

问题描述 投票:0回答:1

BI 和数据仓库新手。我们收到的一个常见的分析请求是提供滚动周期的计算。例如,我们想了解过去 12 个月中每个月有多少客户。假设每个月我们增加 100 名客户,但流失 50 名。我们的回复如下所示:

金额
2023 年 1 月 2,000
2023 年 2 月 2,050
2023 年 3 月 2,100

此表稍后用于与某些指标进行比较,例如在给定时期内有多少客户购买了某些产品,或者与活跃客户相比使用情况如何。我的问题是,我们应该在数据仓库中创建一个表来存储这些信息,还是应该在每个查询中使用 CTE 在需要的查询中生成该表?

滚动周期表有时会变得复杂,因为我们有时也希望它按每个特定产品、位置等拥有的用户数量进行细分。所以它可能看起来像

状态 金额
2023 年 1 月 CA 1,000
2023 年 1 月 UT 500
2023 年 1 月 FL 500

因此,重申一下这个问题:我们应该在数据仓库中创建一个表来存储这些信息,还是应该在每个查询中使用 CTE 在需要此信息的报告中生成该表?

我目前使用 CTE 进行此分析,但通常是相同的 CTE,因此我认为它可能是一个表格,但不确定最佳实践建议是什么。

sql database postgresql amazon-redshift data-warehouse
1个回答
0
投票

在解决有关滚动周期分析的问题时,创建视图可以提供多种优势。

视图允许您将滚动周期计算的复杂性抽象为单个实体。这可以使您的查询更清晰、更具可读性,因为用户可以专注于查询视图,而不是处理复杂的 CTE 或复杂的逻辑。

© www.soinside.com 2019 - 2024. All rights reserved.