使用Talend填充事实表

时间:2015-10-19 08:25:21

标签: mysql business-intelligence talend dimensional-modeling fact-table

我需要填充我的MySQL表。我有以下维度架构。

enter image description here

我的所有外键都在事实表中。

我有一个每个主题的CSV文件。 假设excel1.csv对应于thema1,而excel2.csv对应于thema2。

设置所有主题,地区,部门,mois表。所以我手动填写了它们:

例如主题表:

idTheme |主题

1 | THEME1

2 | THEME2

区域表:

idRegion |区域

1 | IDF

2 |诺德

3 |布列塔尼

部门表:

idDepartement | idRegion | DEPARTEMENT

1 | 1 |艾松

2 | 1 |巴黎

3 | 1 | Seine Et Marne

4 | 2 | Pas de Calais

5 | 2 |皮卡

6 | 3 |卡尔瓦多斯

7 | 3 |菲尼斯泰尔

Annee表:

idAnnee | ANNEE

1 | 2013

2 | 2014

3 | 2015

Mois表:

idMois | idAnnee |的MOI

1 | 3 |维耶

2 | 3 | FEVRIER

3 | 3 |火星 ...

现在让我们拿一个与thema1相对应的excel1.csv文件(所以idtheme = 1):

NOM /地区/ DEPARTEMENT / MOIS / POIDS

阿德里安/ IDF /巴黎/ FEVRIER / 85

路易斯/ IDF /巴黎/维耶/ 84

查尔斯/布列塔尼/菲尼斯泰尔/维耶/ 90 ...

由于Talend中的tMap转换,我知道如何填充我的Client表: 我明白了:

idClient / NOM / POIDS

1 /阿德里安/ 85

2 /路易斯/ 84

3 /查尔斯/ 90

我希望我的事实表格如下:

idTheme / idDepartement / idClient / idMois

1/2/1/2

1/2/2/1

1/7/3/1

以便它包含其他维度表的外键。

我知道如何填充维度表(大多数情况下手动填充并使用tMap for Client表)但我想填写我的事实表。

1 个答案:

答案 0 :(得分:0)

如果您的数据库中有此模型,并且您的表是使用所有主键和外键创建的,但仍然为空,那么请按以下顺序停止填充从外部开始到内部的数据的作业:Region,departement,Annee, Mois,主题,客户,满意度。

外键与任何其他字段一样填充,但是已经使用表创建定义的constraint应该通过连接数据来实现。

对于事实表,您需要阅读以前填充的维度和join所有维度的所有外键。