比方说,我们有D_PROCESS
, D_WORKER
和D_STATUS
的尺寸,而事实上F_EVENT
与工人(谁主管)和“当前”状态的链接的过程(什么)。
该过程的状态随时间而变化。 768,16我们在存储F_EVENT
每个进程/状态/工作人员一行,或每个进程/工人一条线,而“其他地方”每个状态的改变一行给定的进程/工人?
我是新来的数据仓库,它是很难找到相关的数据模型化的最佳实践/教程。
比方说,我们有D_PROCESS
, D_WORKER
和D_STATUS
的尺寸,而事实上F_EVENT
与工人(谁主管)和“当前”状态的链接的过程(什么)。
该过程的状态随时间而变化。 768,16我们在存储F_EVENT
每个进程/状态/工作人员一行,或每个进程/工人一条线,而“其他地方”每个状态的改变一行给定的进程/工人?
我是新来的数据仓库,它是很难找到相关的数据模型化的最佳实践/教程。
读数据仓库工具包由拉尔夫·金博尔一个很好的介绍,三维建模。
这听起来像你存储在F_EVENT过程变化的事件。 如果这个过程有一个定义的开始和结束,我将建立一个快照事实表,将让你追踪的过程中随着时间的推移(只是每次从一个步骤过程移动到另一个更新该行)。
编辑:
我会尽力用您的尺寸例子一般情况下。
对于D_PROCESS,造型一个“过程”不是通常建模为一个维度,而你称它是“什么”,所以我要去这个重命名为“D_ACCOUNT”。
基本数据模型将是一个“税处理系统”,其中工人处理帐户,每个帐户/工人组合具有的其中这个过程目前为几个可能的“状态”的。
D_ACCOUNT
ACCOUNT_NUMBER
ACCOUNT_TYPE
D_WORKER
WORKER_ID
FIRST_NAME
LAST_NAME
BADGE_NUMBER
SHIFT
D_STATUS
STATUS_ID
STATUS_NAME
现在,如果我要对已发生的帐户所有的“事件”,由工作人员进行报告,我可以建立一个事务级事实表F_EVENT:
F_EVENT
ACCOUNT_ID
WORKER_ID
STATUS_ID
EVENT_TIME_ID
Metrics taken at time of the measurement (Cost, Worker time spent, etc)
我们称尺寸的独特组合标识一行事实表的粒度或谷物 。
此表的晶粒帐户,工人,状态和时间。 它回答这样的问题“有多少时间在周三做了我的工人轮班3个支出处理帐户?” 或“有多少事件发生,改变处理状态为‘关闭’?
我不知道有多少这种类型的表会有所帮助。
相反,说你有兴趣在跟踪过程本身移动通过各种状态。 我要去假设状态总是向前移动的时候,从“未入门”,“处理”到“封闭”。
我要建什么金博尔所说的“累积快照事实表。
F_TAXPROCESSING
ACCOUNT_ID
WORKER_ID
CURRENT_STATUS_ID
NOT_STARTED_DTTM
NOT_STARTED_FLAG
IN_PROCESS_DTTM
IN_PROCESS_FLAG
CLOSED_DTTM
CLOSED_FLAG
此表的粮食是帐户,工人。 该表通过更新变化的状态,以及标志的日期/时间时的状态已经达到跟踪的“过程”。
这可以让你追踪的过程中随着时间的推移,让你看到有多少帐户都反应了“进行中”的状态,过了多长时间到那里,等等。