接下来为逻辑层中的各表设置主外键关系,该方法跟物理模型中创建主外键的方法类似,选种逻辑模型中的sh
最后的结果如下
由于继承了物理层的逻辑关系,所以这一步只是确认,不需要去建立主外键关系
接下来我们来删除逻辑层中不需要的字段,删除的字段如下:
Channels:channel_class_id,channel_total_id
Customers:cust_city_id,cust_state_province_id,country_id,cust_main_phone_number,cust_total_id,cust_src_id,cust_eff_from,cust_eff_to,cust_valid
Products:prod_category_desc,prod_category_id,prod_desc,prod_eff_from,prod_eff_to,prod_src_id,prod_subcategory_desc,prod_subcategory_id,prod_total_id,prod_valid,supplier_id
Promotions:promo_category_id,promo_subcategory_id,promo_total_id
为了使这个模型具备钻取功能,需要为各维表设置钻取路径,时间维是最普遍和稍显复杂的纬度,我们以次为例,其他维钻取的设计类似。
展开新建的时间维并在times_detail极上创建父级别
输入months并在以下级别的元素数目处写成500后点确定
将包含日历日期month的列拉到新建父级别months下,如图
同理再创建季度级为年级,最后结果如下
日历日期设计了钻取,我们同时也把会计日期也设置一下钻取,如图
默认是建在sh.timesdim.times total层下面,点确定便可,按同样的方法创建,结果如下图:
注意:fiscal year和year应该是平级,从上图可以看出times_detail级别的主键为time_id,为了在其他层级控制钻取,也需要在其他层级上设置主键,在months级别以calendar_month_desc为主键,在quarter级别以calendar_quarter_desc为主键,在year级别以calendar_year为主键,同理,会计日历也是一样,最后结果如下图
在相关字段上建立主键的方法为:
选择对应的字段à点右键à新建逻辑级别关键字 然后点确认便可
按上面的方法,对其他逻辑表也创建对应能钻取的维并设计逻辑级别关键字,最后的结果如下图:
在创建customers维的时候,因为有两个source表,在创建好的customers维customers_detail中只有customers表中的字段,因此还必须在逻辑模型的customers表中将country表中的字段指定到customers_detail级别,可以通过双击该表中对应的country相关的字段来进行设置.