我是BI初学者,所以请耐心等待。
我有一个事实表[Fact15MinData],如下所示:
Cell Date Hour Minute Counter1 Counter2
Cell1_1 20141001 2 15 2.4 4.5
Cell1_1 20141001 2 30 4.5 39.2
Cell1_1 20141001 3 45 1.5 3.2
Cell1_1 20141001 5 00 3.5 9.2
我的[DimTime]表格如下:
ID Time Hour Minute Second AmPm
1 00:00:00 0 0 0 AM
901 00:15:00 0 15 0 AM
1801 00:30:00 0 30 0 AM
2701 00:45:00 0 45 0 AM
3601 01:00:00 1 0 0 AM
4501 01:15:00 1 15 0 AM
如何将我的[DimTime]表格与我的[FactData]表格相匹配?
答案 0 :(得分:0)
在DataSourceView中创建复合键关系(小时和分钟),这两列应显示在多维数据集的“维度用法”选项卡中。
答案 1 :(得分:0)
你的事实表上不应该有小时和分钟,而只是DimTime的密钥ID。
在您的ETL上,您需要通过匹配小时和分钟来查找行并返回ID,或者将其重命名为time_id。
任何ETL工具都应该提供一种在维度中查找值的方法。例如,在Pentaho数据集成中,您可以使用数据库查找或组合查找/更新步骤。
答案 2 :(得分:0)
因为你想在Fact15MinData(具有计数器数据)和DimTime之间建立链接,DimTime是ID,时间,小时,分钟,秒,AmPm的组合。因此,您可以通过计算小时和分钟来建立两者之间的关系,但是当您将AmPm作为cloumn时,您将在DimTime中为小时和分钟的特定组合创建2条记录。所以要解决此问题,您可以添加12到当AmPm的值为Pm时,表示两个表之间的关系为1-1。
但是正如nsousa和Tab Alleman所建议的那样,你不应该将dimention表中的值存储到事实表中,所以你应该为你的两个表都有以下结构: