我修改了一个完全正常工作的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.
版本
详情
在几个维度中,我有日期属性,用作简单的显示属性,即不涉及任何复杂的日期时间操作。他们的FormatString属性为空。当我查看多维数据集(例如通过Excel)时,日期会同时显示日期和时间。
我想要显示日期,而不是时间。所以我为每个日期属性将FormatString更改为Short Date
。 (同样尝试了d/MM/yyyy
,结果相同。)
如上所述,现在部署更改失败。
其他讨论
MSDN和TechNet上的其他人已提及此问题,但除了撤消对FormatString的更改之外,不会导致任何解决方案。看来BIDS Helper生成的SQL规范对SQL Server 2008R2不正确。
请求
如果您之前已经看过并修好过,请告诉我。
或者,如果您能够将FormatString属性与2008R2一起使用,您能告诉我生成什么XML吗?如果我知道我可以编辑XML以绕过BIDS Helper生成的代码。
答案 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。