sách gpt4 ăn đã đi

database - 从事务性平面数据库填充事实表和维度表的最佳实践

In lại 作者:太空狗 更新时间:2023-10-30 01:50:29 28 4
mua khóa gpt4 giày nike

我想在 SSIS/SSAS 中填充星型模式/多维数据集。

我准备了所有维度表和事实表、主键等。

源是一个“平面”(项目级别)表,我现在的问题是如何拆分它起来,把它从一个放到各自的表中。

我用谷歌搜索了一下,但找不到令人满意的问题解决方案。有人会认为这是 BI 开发中一个相当普遍的问题/情况?!

谢谢,亚历克斯

câu trả lời hay nhất

首先,这取决于您是要执行简单的初始数据传输还是更复杂的操作(例如增量)。我假设您正在进行初始数据传输。

假设您的项目表有如下列:id, cat1, cat2, cat3, cat4, ... 假设类别 1-4 有列 id, cat_name,你可以加载 dim_cat1(项目类别 1 的维度表),如下所示:

insert into dim_cat1 (cat_name)
select distinct cat1 from item_table;

您可以对所有其他类别/维度表执行相同的操作。我假设您的维度表具有自动生成的 ID。现在,加载事实表:

insert into fact_table (id, cat1_id, cat2_id, cat3_id, cat4_id, ...)
select id, dc1.id
from item_table it
join dim_cat1 dc1 on dc1.cat_name = it.cat1
join dim_cat2 dc2 on dc2.cat_name = it.cat2
join dim_cat3 dc3 on dc3.cat_name = it.cat3
join dim_cat4 dc3 on dc4.cat_name = it.cat4
...

如果您有大量数据,在 item_table 和维度表中的类别名称上创建索引可能是有意义的。

顺便说一句,这是一个独立于数据库的答案,我不使用 SSIS/SSAS:你可能有可用的工具来为你简化这个过程的某些部分,但用简单的方式编写真的并不那么困难/耗时SQL。

关于database - 从事务性平面数据库填充事实表和维度表的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2488009/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress