1

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

4

1 回答 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 回答