我是第一次创建数据仓库,而不知道如何使用我的第二个“数据仓库”。表。它是一个暗淡,事实甚至无事实的表。
到目前为止,我有两个表,Employee(一个)和EmployeeAppLogin(很多)。 两者都是SCD2型。
dim_Employee是典型的HR员工昏暗表和EmployeeAppLogin,我认为应该存储EmployeeAppKey(SK),EmployeeID(NK),loginName。或者应该是来自din_staff的employee_key(SK)而不是来自dim_Staff的EmployeeID(NK)。
EmployeeAppLogin表只是一个查找表,不包含任何事务。它将用于交叉引用并通过第三方应用程序上的loginName识别员工。我还没有从这些第三方应用程序访问交易表。
所以不确定DW在哪里适合。
非常感谢
答案 0 :(得分:2)
一种方法是为Employee
和Login
创建单独的维度表。报告编写者可以按员工,登录或两者来过滤\ aggregate。
数据仓库比传统数据库具有巨大的优势。每个单元格,行和列的内容都在您的直接控制之下。您可以以任何方式自由transform源数据。出于这个原因,我设计我的dbs使其易于使用。因为每个记录都通过我的ETL过程,所以我可以在那里强制执行关系。架构不需要这样做。
您可能需要一个桥接表来填充此结构。但这可以隐藏在你的临时区域。
这种设计的主要优点是它为您提供了更简单,更扁平的结构。我发现这减少了我必须编写的复杂查询的数量(这提高了我的工作效率)。更扁平的结构可以更好地利用数据可视化工具,如Power Bi和即席查询工具,如Analysis Services。