问题标签 [fact-table]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2505 浏览

data-warehouse - “计数”度量是否应该存储在事实表中?

我有一个事实表,其中包括某些服务的“以小时为单位的等待时间”。我有很多维度可以描述基于不同切片的等待时间;但是,我也有兴趣了解有多少人(计数)通过相同维度的过滤器获得服务。

鉴于等待时间(以小时为单位)的维度和获得服务的人数完全相同,我认为将其保存在同一个事实表中是最佳实践。我的问题是:

  1. 提到的计数度量是否应该有不同的事实表?
  2. 我将如何包括这项措施?我只是在每一行中放 1 吗?因为不管等待时间长短,他们只获得了一次服务(在我的场景中,你不能高于/低于 1)。
0 投票
1 回答
1806 浏览

data-warehouse - 链接两个维度表

我是数据仓库的新手,并且使用 STAR 模式设置了多个维度表和事实表。我有一个问题,使用 STAR 模式,是否可以使用主键/外键方法将两个维度链接在一起。我读过两个维度只能在 FACT 表中链接?这个对吗 ?

亲切的问候

0 投票
1 回答
1357 浏览

mysql - 使用 Talend 填充事实表

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

在此处输入图像描述

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

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

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

例如主题表:

id主题 | 主题

1 | 主题1

2 | 主题2

地区表:

idRegion | 地区

1 | 以色列国防军

2 | 北

3 | 布列塔尼

部门表:

id部门 | idRegion | 部门

1 | 1 | 埃松

2 | 1 | 巴黎

3 | 1 | 塞纳河与马恩河

4 | 2 | 加来海峡

5 | 2 | 皮卡第

6 | 3 | 卡尔瓦多斯

7 | 3 | 菲尼斯泰尔

安妮表:

伊德安妮 | 安妮

1 | 2013

2 | 2014

3 | 2015

莫伊斯表:

idMois | 伊德安妮 | 莫伊斯

1 | 3 | 扬维尔

2 | 3 | 费夫里埃

3 | 3 | 火星...

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

NOM/地区/部门/Mois/Poids

阿德里安/以色列国防军/巴黎/Février/85

路易斯/以色列国防军/巴黎/Janvier/84

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

由于 Talend 中的 tMap 转换,我知道如何填写我的客户表:我得到:

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 填写客户表),但我想填写我的事实表。

0 投票
0 回答
658 浏览

data-warehouse - 如何使用 ODI 加载数据仓库?

在网上搜索了如何使用 ODI 在数据仓库中提取、加载和转换数据后,我仍然对一步感到困惑。在加载了暂存区的表,并做映射加载数据之后,我们如何在第二步加载数据仓库中的数据(事实表和维度表)?

谢谢你。

0 投票
1 回答
133 浏览

data-warehouse - 国家和客户维度

我犹豫是否应该添加一个Country_Dimension,因为我已经有一个Customer_Dimension包含一些冗余字段的字段,例如:

  • 大陆名称
  • 国家的名字
  • 邮政编码_#
0 投票
1 回答
70 浏览

data-warehouse - Fact_Table 和 Date_Dimension 之间的多链接

在我的 Fact_Table 中,我有几个日期字段,例如:

  • 订购日期
  • 付款日期
  • 采购日期
  • 预计交货日期
  • 实际交货日期
  • ...

如何选择哪些需要链接到 Date_Dimension 和其他?

感谢您的意见,

0 投票
1 回答
2732 浏览

data-warehouse - 100 个事实的事实表设计指南

我正在尝试为医疗保健应用程序创建一个数据集市。数据集市中的事实基本上是与心脏相关的测量和发现,我们有 100 多个。从 1000 起,每个考试类型可以达到 20000 人。

我想知道我对事实表的设计选择是:

谷物:每种检查类型每位患者 1 行。

我能想到的一些选择——

1) 一个包含 1000 列或更多列的大而宽的事实表。

2) 基于 EAV 的设计 - 单独的 Measure 维度表。该外键将进入事实表,度量值将在事实表中。因此,事实表的粒度将更改为每个患者每个检查类型每次测量 1 行。

3)根据其他一些标准(如子组)为每种考试类型创建更小的多个事实表。但最终用户将跨子组查询该考试类型,不推荐使用事实连接。

4)还有其他想法吗?

任何输入将不胜感激。

0 投票
2 回答
1266 浏览

mysql - 基于 ID 聚合记录的 SQL 查询

SQL 中有没有办法首先从表中选择记录并聚合它,然后将其插入到另一个表中?例如,这是给定的表。

[帐户 ID ] | [ job_role_id ] | [薪水]
          1 1 10,000

          1 2 10,000

          1 3 10,000

          1 1 20,000

          1 2 10,000

          2 3 10,000

          2 1 20,000

          2 2 20,000

          2 3 10,000

我需要以这样一种方式聚合记录,即 account_id 给出的相同 job_role_id 的所有薪水都按以下方式添加:

[帐户 ID ] | [ job_role_id ] | [薪水]
          1 1 30,000

          1 2 20,000

          1 3 20,000

          2 1 20,000

          2 2 20,000

          2 3 20,000

请原谅我的英语不好,因为我现在睡眠不足,英语是我的第二语言。

0 投票
1 回答
87 浏览

mysql - SQL insert into select from - 插入 id 而不是数据

我需要用表中的数据填充我的事实lds_placement表。我已经选择了记录,如下所示:

我想从名为列time_id的不同表中插入,而不是实际年份本身。time_dimyear

time_dim表如下所示:

我需要插入“年”列实际上是:

请给我插入time_id而不是year在表格中的方式。这是我用来选择最顶层表格的代码。

0 投票
0 回答
473 浏览

database - 如何在填充星型模式期间使用临时表进行 ETL?

我有脚本可以从 RDBMS 中提取数据并填充数据仓库。有用。我想知道临时表是如何介于两者之间的。ETL的具体步骤是什么?尽管我的数据仓库已填充,但我的老师说我们需要使用临时表。它为什么如此重要?

请帮我。我现在很困惑。谢谢你。

我们需要从两个不同地点的两个不同办公室的数据库中提取数据。我将给出下表的详细信息。

lds_job_role

job_role_id:整数
job_role_desc:varchar
key_skill_1:INEGER
key_skill_2:INEGER
key_skill_3:INEGER Recommended_sal
:INTEGER

lds_account

account_id:INTEGER
acc_name:VARCHAR
acc_postcode:VARCHAR

lds_placement

Placement_id :INTEGER
plt_short_desc:VARCHAR
plt_required_start_date:DATE
plt_estimated_end_date:DATE
plt_actual_start_date:DATE
plt_renewal_no:INTEGER
plt_to_permanent:VARCHAR
max_salary:INTEGER
min_salary:INTEGER
actual_salary:INTEGER

mch_job_role

job_role_id:INTEGER
job_role_desc:VARCHAR
推荐_sal:INTEGER

mch_account

account_id:INTEGER
acc_name:VARCHAR
acc_postcode:VARCHAR

mch_placement

Placement_id: INTEGER
plt_short_desc:INTEGER
plt_required_start_date:DATE
plt_estimated_end_date:DATE
plt_actual_start_date:DATE
plt_actual_end_date:DATE
plt_renewal_no:INTEGER
plt_to_permanent:VARCHAR
max_salary:INTEGER
min_salary:INTEGER
actual_salary:INTEGER
supervisor_name:VARCHAR

以下是星型模式的事实和维度:

job_roe_dim

job_role_id
job_role_desc

time_dim

time_id
年份

account_dim

account_id
account_name

事实账户

Report_id
no_of_placements
工资
FK1_time_id
FK2_account_id
FK3_job_role_id

该练习告诉我们“处理数据质量问题、FACT 测量、标识符等”。我想我已经用脚本做到了,但我不知道如何展示它。也许这就是为什么需要临时表的原因?