我有一个存储过程,我在 SSRS 中使用它来获取数据集。它有一些包含“(”,)“,”,“$”等的列名。我可以在sql server中运行SP。但 Refresh Field 给出错误,因为“查询包含多个未命名或重复的字段名称”。我确信没有这样的专栏。
问问题
2463 次
1 回答
3
问题是由于列[INCUR COST$]
和[INCUR COST£]
(至少基于您提供的详细信息)。
SSRS 不允许特殊字符,如,
$
和£
它的 Dataset 列,但它会很高兴地尝试将任何查询列转换为可接受的名称,并在可能的情况下替换为_
。
在您的情况下,[INCUR COST$]
两者[INCUR COST£]
都转换为INCUR_COST_
,因此您的错误与重复的字段名称。
要创建一个简单的测试,您可以使用以下查询创建一个数据集:
select [Incur Cost$] = 1
SSRS 做到这一点没有错误。你会得到一个错误:
select [Incur Cost$] = 1, [Incur Cost£] = 1
在此阶段,您可以选择更新名称:
根据需要更新。
作为一种解决方法,您可以在 SP 中创建更标准化的名称(这确实是最佳实践选项),或者您可以手动将字段添加到 BIDS 中的数据集,您可以根据自己的喜好指定数据集名称,同时考虑到 SSRS 命名限制.
于 2013-08-13T17:09:56.797 回答