zoukankan      html  css  js  c++  java
  • 如何反映主数据的历史变化?

    有时,用户会对主数据(例如客户、物料)做一些修改,例如修改客户所属的区域,修改物料所属的分类等等。那么,对于这种修改过的主数据(DW中的缓慢变化维),如何在报表中体现出历史的真实情况呢?

    首先,我们来看标准设置下的主数据更新情况。假设0customer 有一个属性0region, 该属性为time-indepent。这种情况下,当用户更新某customer的region时,原region会被覆盖。因此,报表中得到的都是关于 该客户的最新的region。Drilldown by region时,该客户的所有历史数据都将被归入最新的region中。这样,显然是无法反映历史真实情况的。

    这时,我们会想到将0region设置为time-dependent,这样一样来,该customer的region值将和时间绑定。做报表时,根据指 定的key date不同,或得到原来的region或得到新的region。Drilldown by region时,该客户的数据或归入新的region,或归入旧的region,也无法反映历史的真实。

    那么,解决方案是什么呢? 很简单,把region放入 InfoCube的Characteristic中,采用读主数据的方式获得其当前的值,这样region的历史数据在抽数时就被保存下来了。不过,这样 做也有一个不足,当需要对系统重新抽数时,region的历史数据将被新数据覆盖。这时,如果即采用time-depent的设置,有将region放入 _characteristic中,在抽数时指定key date,则可以完美解决该问题。

     
    time-dependent 应该是时间相关的意思
    Drilldown by region 是什么 ?
     
     
     
  • 相关阅读:
    chapter 12_1 数据文件
    chapter11_3 字符串缓冲
    chapter11_2 Lua链表与队列
    chapter11_1 Lua数组、列表
    chapter9_4 非抢占式的多线程
    Java设计模式
    java内存回收机制
    javaIO流概述
    java集合概述
    java多线程
  • 原文地址:https://www.cnblogs.com/hanmos/p/2597956.html
Copyright © 2011-2022 走看看