【问题标题】:how to put data in fact table?如何将数据放入事实表中?
【发布时间】:2015-09-13 20:59:15
【问题描述】:

我是商业智能的新手 我设计了一个星型模式来实现数据集市,以帮助分析师对学生成绩做出决定 尺寸表: - 包含有关模块信息的模块(模块代码,模块名称) - 包含模型信息的学生(代码、名字、姓氏……) - 学校科目(代码,姓名,教授姓名......) - 学位(代码,libelle) - 专业(代码,libelle) - 时间(年,半年) - 地理(大陆,国家,城市) 事实表: - 结果(分数,模块分数,年份分数) 数据源是excel文件: 在每个文件中,我都有一组表格,每张表格他都会在“Niveau 'X'、Specialite 'Y'、Year and Half-Year 'Z'、Module 'U'、City 'A'... 我的问题是: 我怎么不能把数据从 excel 到我的维度和事实 我想这很容易,但我需要你的提议 其实我不知道

对不起我的英语不好

【问题讨论】:

  • 您已标记 etl。您需要选择一个 etl 工具。这有时取决于您正在构建的数据库是......什么?
  • 感谢您的回复,我使用的 ETL 是 TALEND Open Studio,我使用的数据仓库实现是 ssas microsoft
  • 当我用数据填充我的维度时,我将使用 talend 并给 talend 指令以生成每个维度的自动增量 PK,但我的问题是如何放置数据(score、module_score、 year_score)在事实表中以及如何将此值与维度关联的真正问题(使用 FK-PK 关联)
  • 维度表包含代理键(自动递增的 PK),但它还包含用于匹配回您正在导入的数据的“源键”。因此,您的模块维度实际上将包含模块代码。当您加载事实时,您会查找模块代码并提取代理键并将其写入事实。确保您用于查找的键具有唯一约束
  • 事实表中的尺寸 FK 应手动放置,否则它们会退出自动放置的机制,感谢您的帮助

标签: etl business-intelligence talend star-schema


【解决方案1】:

最基本的答案,选择一个 ETL 工具并开始移动数据。 您通常需要:

  1. 首先加载维度表。这些表中的 ID 列将链接到事实表。

  2. 在您的 ETL 包/例程中填充事实表,

  3. 从源/暂存中选择要放置在事实表中的数据。
  4. 针对这些数据在每个维度表上进行查找,以获取每个维度值的 ID。
  5. 最后做一些重复检测,看看是否有任何行已经在事实表中。
  6. 插入数据。

无论您使用哪种 ETL 工具,此过程都大体相似。有一些教程介绍了一些细节(使用 google),但基本技术是查找以获取维度键。

【讨论】:

  • 当您严格按照维度建模规则工作时,这是一个非常好的答案。从我的角度来看,我会使用 HKEYs 而不是代理键来并行摄取,因为我正在使用支持将全部插入到许多表中的 Snowflake。这是一件好事还是我应该遵守规则并只使用代理键?
猜你喜欢
  • 2021-12-29
  • 2018-05-13
  • 1970-01-01
  • 1970-01-01
  • 2023-02-09
  • 2018-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多