Sql Server 2008 Reporting Services: ошибка двух наборов данных - PullRequest
7 голосов
/ 15 июня 2011

Я создаю отчет, который использует два набора данных.при предварительном просмотре я нахожу эти типы ошибок ...

Ошибка 19
[rsFieldReferenceAmbiguous]
Выражение значения для текстового поля «Textbox3» относится непосредственно к полю «PerZipCode»без указания агрегата набора данных.Когда отчет содержит несколько наборов данных, ссылки на поля вне области данных должны содержаться в агрегатных функциях, которые задают область набора данных.

Какая агрегатная функция необходима и где есть опция для ее установки?

Ответы [ 4 ]

8 голосов
/ 21 ноября 2012

Если вы добавляете несколько наборов данных в отчет, вышеописанное может не решить вашу проблему. Вы можете просто получить следующую ошибку при агрегировании:

[rsMissingAggregateScope] Выражение значения для текстового поля «textbox6» использует агрегатное выражение без области действия. Область действия требуется для всех агрегатов, используемых за пределами области данных, если отчет не содержит ровно один набор данных.

Вам может понадобиться что-то вроде:

First(Fields!MyField.Value, "DATASETNAME")

Что вы можете получить, используя Expression Builder, а не перетаскивание полей из набора данных.

7 голосов
/ 15 июня 2011

Мин. Или Макс. Или Ср. И т. Д.: Большинство эти

Совокупность необходима для уменьшения другого набора данных до одного значения (максимум значений и т. Д.), Поскольку вы используете что-то, находящееся не в локальной области (например, набор данных, связанный с областью данных). Невозможно сопоставить строки в другом наборе данных с локальной областью данных.

Если ваше текстовое поле является автономным (не в области данных), применяется то же самое: агрегат необходим, чтобы указать SSRS, какую строку брать (макс. И т. Д.) Или какие вычисления следует выполнять в наборе данных (в среднем и т. Д.)

0 голосов
/ 15 апреля 2016

Если у вас уже есть агрегат и вы видите эту ошибку, возможно, это связано с тем, что поля отчета не соответствуют наборам данных.Вы можете решить эту проблему, обновив поля отчета .

Чтобы заполнить коллекцию полей, используйте кнопку «Обновить поля» в диалоговом окне «Свойства набора данных».Коллекция полей не отображается на панели «Данные отчета» до тех пор, пока диалоговое окно «Свойства набора данных» не закроется.

Чтобы обновить поля для определенного набора данных На панели «Данные отчета» щелкните правой кнопкой мыши набор данных и выберите «Свойства набора данных».

Примечание. Если панель «Данные отчета» не отображается, в меню «Вид» выберите «Данные отчета».Если панель открывается как плавающее окно, вы можете закрепить ее.Для получения дополнительной информации см. Как: закрепить панель данных отчета.

На панели запросов введите запрос.Кроме того, вы можете использовать кнопку «Импорт» для импорта запроса из другого файла .rdl.Нажмите Обновить поля.Нажмите ОК.На панели «Данные отчета» разверните узел набора данных, чтобы просмотреть текущую коллекцию полей.

0 голосов
/ 08 февраля 2014

Чтобы использовать несколько значений набора данных в отчете SSRS, нам нужно использовать следующий код:

First (Fields! MyField.Value, "Datasetname").

Если, введя это, вы все ещеПолучив ту же проблему, затем щелкните правой кнопкой мыши на текстовом поле и выберите выражения, затем в выражениях нажмите Набор данных.Выберите набор данных, а затем дважды щелкните по нужному столбцу.После этого нажмите кнопку ОК.

Если у вас есть несколько элементов управления, выполните одно и то же для всех из них и подтвердите то же самое, выполнив отчет.

...