我使用多维数据集设计向导设计了一个 SSAS 多维数据集,使用自上而下的方法,即在关系数据库存在之前创建多维数据集。
在完成包含时间维度的多维数据集设计后,我尝试运行“数据库”>“生成关系模式...”菜单选项。我已选择填充 Date 维度,但出现此错误:
字符串未被识别为有效的日期时间
这可能是原因,我该如何解决?
我使用多维数据集设计向导设计了一个 SSAS 多维数据集,使用自上而下的方法,即在关系数据库存在之前创建多维数据集。
在完成包含时间维度的多维数据集设计后,我尝试运行“数据库”>“生成关系模式...”菜单选项。我已选择填充 Date 维度,但出现此错误:
字符串未被识别为有效的日期时间
这可能是原因,我该如何解决?
我不知道是不是因为我使用的是本地化为不同语言的 Windows,但问题出在维度的 XML 定义中。
一旦知道了,解决问题就很容易了:进入解决方案资源管理器,右键单击时间维度,然后选择“查看代码”。这将打开维度的 XML 定义。在 XML 文件中查找<CalendarStartDate>
和节点。<CalendarEndDate>
就我而言,我发现了这些日期:
<CalendarStartDate>1/1/2015 12:00:00 AM</CalendarStartDate>
<CalendarEndDate>12/31/2008 12:00:00 AM</CalendarEndDate>
由于某种原因,模式生成工具无法解析该格式的日期。因此,您必须将它们更改为有效的东西。如果您在维度文件中看到其他日期,您将看到它们采用 ISO 格式。因此,将这些更改为该格式,如下所示:
<CalendarStartDate>2005-01-01T00:00:00Z</CalendarStartDate>
<CalendarEndDate>2008-12-31T00:00:00Z</CalendarEndDate>
再次运行模式生成工具,等等!它工作正常,模式正确生成,时间维度填充了预期的日期。