SSRS:具有特殊字符的列名,如$

时间:2013-08-13 15:53:44

标签: reporting-services

我有一个存储过程,我在SSRS中使用它来获取DATA SET。它有一些列名包含“(”,“)”,“$”等。我可以在sql server中运行SP。但刷新字段给出错误,因为“查询包含多个未命名或重复的字段名称”。我确信没有这样的专栏。

1 个答案:

答案 0 :(得分:3)

问题归因于列[INCUR COST$][INCUR COST£](至少基于您提供的详细信息)。

SSRS不允许使用$£等特殊字符作为其数据集列,但它会很乐意尝试将任何查询列转换为可接受的名称,方法是替换为{ {1}}尽可能。

在您的情况下,_[INCUR COST$]都转换为[INCUR COST£],因此您的错误包含重复的字段名称。

要创建简单测试,您可以使用以下查询创建数据集:

INCUR_COST_

SSRS无误地执行此操作。您将收到错误:

select [Incur Cost$] = 1

enter image description here

在此阶段,您可以选择更新名称:

enter image description here

根据需要进行更新。

作为一种解决方法,您可以在SP中创建更多标准化名称(这实际上是最佳实践选项),或者您可以手动将字段添加到BIDS中的数据集,您可以根据自己的喜好指定数据集名称,同时考虑到SSRS命名限制。