如果我想放置占位符,DW 日期映射中的日期字段应该是日期数据类型还是字符串数据类型?
Posted
技术标签:
【中文标题】如果我想放置占位符,DW 日期映射中的日期字段应该是日期数据类型还是字符串数据类型?【英文标题】:Should date field in DW date-map be of Date data type or of String data type, if I want to put placeholders? 【发布时间】:2014-11-11 05:30:52 【问题描述】:和其他所有数据仓库一样,我有一个日期图(日期维度)。
在日期字段中存储日期字段最明显的方法是使用日期数据类型。但是,我想在我的日期维度中保留一些记录,其中 ID 为负值,并且日期字段应该描述为什么这个日期无效。
例如,在我的事实表中,假设我有一个名为 order_date_id 的字段,它引用了日期维度。但是,对于事实表中的一些记录,我想说order_date没有被系统记录,因此我们不能使用它。但我希望它的条目存在。
我想我会在 ID=-1 和 date = 'Date is notrecorded' 的日期维度中输入一个条目。但是要使用这种占位符,我必须将日期保留为字符串值。如果我将它存储为字符串值,当我比较两个日期时将非常无效。
请提出一个好的做法。
【问题讨论】:
【参考方案1】:我认为你混淆了两件事;
日期维度设计 系统未指定日期标识这就是我设计日期维度的方式
Date_id = yyyymmdd 的数字 - 智能键,这将是主键;这节省了对数据库进行查找以分配 id 日期 - 实际日期 年年 月 - 月(yyyy-mmm 或 yyyy-mmmm) Month_Nbr - 月 ( yyyy-mm ) 季度 - yyyy-Qn(1,2,3,4)
您需要的所有其他属性
如果有没有指定日期的销售订单,请将它们指定为 19000101 并将它们放在您的事实表中... 如果您逐渐收到没有日期的销售订单,那么我会咨询业务并输入他们到达系统的当月的第一天;这将是一个更容易接受的解决方案。
【讨论】:
以上是关于如果我想放置占位符,DW 日期映射中的日期字段应该是日期数据类型还是字符串数据类型?的主要内容,如果未能解决你的问题,请参考以下文章