将两个维度合并为一个

时间:2019-07-30 14:20:19

标签: sql-server dimensions fact-table

我有下表:

员工:EmployeeId

AF_AdminFile:AF_AdminFileIdEmployeeId

AF_Language:LanguageIdLanguageLevelIdAdminFileId

语言:LanguageId(int)ID(varchar)

(例如:对于法语LanguageId = 1,ID = fr)

LanguageLevel:LanguageLevelIdLabel

我的FactTable如下所示:

FactID,EmployeeId,AF_AdminFileId,LanguageId,LanguageLevelId

如果我想在称为LanguageId的一个维度中重新组合LanguageLevelIdDim_LanguageSkill,我的查询应如下所示:

select [Language].[Label] , [LanguageLevel].[Label] FROM [Language]
            cross JOIN [LanguageLevel]
            group by [Language].[Label], [LanguageLevel].[Label]

因此Dim_LanguageSkill的结构将如下所示: Dim_LanguageSkillDim_LanguageSkillIdLanguageIdLanguageLevelId

问题是我找不到将新维度Dim_Language与事实FactTable结合起来的方法,事实将具有新的结构:

FactID,EmployeeId,AF_AdminFileId,LanguageSkillId

0 个答案:

没有答案