部署多维数据集会使用FormatString生成ddl300错误

时间:2014-06-15 23:24:41

标签: sql-server sql-server-2008 ssas bids ssas-2008

我修改了一个完全正常工作的Analysis Services多维数据集来更改多个日期字段的格式。现在,当我尝试部署它时,我收到了错误...

The ddl300_300:FormatString element at line 901, column 41 (namespace http://schemas.microsoft.com/analysisservices/2011/engine/300/300) cannot appear under Envelope/Body/Execute/Command/Batch/Alter/ObjectDefinition/Database/Dimensions/Dimension/Attributes/Attribute.

版本

  • Visual Studio 2010(10.0.40219.1)
  • BIDS Helper 2012(1.6.4.0)
  • 部署到SSAS 2008R2(10.50.1600.1)

详情

在几个维度中,我有日期属性,用作简单的显示属性,即不涉及任何复杂的日期时间操作。他们的FormatString属性为空。当我查看多维数据集(例如通过Excel)时,日期会同时显示日期和时间。

我想要显示日期,而不是时间。所以我为每个日期属性将FormatString更改为Short Date。 (同样尝试了d/MM/yyyy,结果相同。)

如上所述,现在部署更改失败。

其他讨论

MSDNTechNet上的其他人已提及此问题,但除了撤消对FormatString的更改之外,不会导致任何解决方案。看来BIDS Helper生成的SQL规范对SQL Server 2008R2不正确。

请求

如果您之前已经看过并修好过,请告诉我。

或者,如果您能够将FormatString属性与2008R2一起使用,您能告诉我生成什么XML吗?如果我知道我可以编辑XML以绕过BIDS Helper生成的代码。

2 个答案:

答案 0 :(得分:1)

从评论中可以看出,没有人能够提出为什么FormatString设置没有达到预期的效果。这可能是对该属性的设计功能,错误或微妙配置错误的误解。

我通过实现更冗长的方法解决了这个问题:在dsv中添加了一个格式化的字段以跟随每个日期字段。然后在每种情况下将NameColumn与KeyColumn分开。然后FormatString属性变得无关紧要。

答案 1 :(得分:1)

我怀疑自己安装BIDS helper 2012会产生不兼容性 - SQL 2008 R2不理解这个属性,并且在构建期间没有错误这一事实,仅在部署到SQL 2008期间支持这一点。

我刚碰到这个并且不得不从维度源代码中手动删除这一行。一旦我选择了格式,我再也无法摆脱它了。

      <ddl300_300:FormatString>Standard</ddl300_300:FormatString>

我还没有找到解决方法 - 有必要清除此错误的版本,以便格式字符串再次运行。至少,这就是杰里米所建议的in this thread