在为我的客户端创建一个新的多维数据集的过程中,我遇到了一个我不太确定要处理的问题。 我有一个没有DateTime字段的表;相反,它有一个varchar字段,其中包含YYYYMM格式的年份和月份。我需要使用该字段创建与我的时间维度的关系;然后继续创建Year-Quarter_Month层次结构。
我做的第一件事是从日期字段在时间表中创建一个新的命名计算,以匹配YYYYMM格式。现在,我理解无法创建关系,因为它会破坏参照完整性。
我的想法是创建一个新的时间表/维度并删除除该月的第一天之外的所有记录,创建一个YYYYMM命名计算,然后我就能够在我的表和新的时间表之间创建关系。但是,这是正确的方法,我可以期待什么缺点?
谢谢!
答案 0 :(得分:0)
您不需要单独的时间维度...将新事实表连接到现有时间维度时(在维度用法选项卡中),您可以将YYYYMM属性设置为“粒度属性”... SSAS将处理剩下的事情: - )
此外,如果格式为YYYYMM(即2015年4月的201504),那么您可以考虑将其设为整数(而不是varchar)以在事实表中节省一些空间。
答案 1 :(得分:0)
您可以在该表中创建一个新的计算列,以添加该月的第一天:
转换(日期,YYYYMMfield * 1000 + 01)
然后将其与时间维度中的密钥相关联。
这样,您的YYYY-QQ-MM层次结构级别按预期工作,如果用户更深入并希望每天查看月度值,他会发现该月的所有值都添加到第一天。 / p>