Службы SQL Server 2008 Reporting Services: использование двух ошибок набора данных

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

ошибка 19
[rsFieldReferenceAmbiguous]
выражение значения для текстового поля "Textbox3" относится непосредственно к полю "PerZipCode" без указания агрегата набора данных. Если отчет содержит несколько наборов данных, ссылки на поля вне области данных должны содержаться в агрегатных функциях, определяющих набор данных масштаб.

какая агрегатная функция необходима и где есть возможность установить это?

4 ответов


мин или Макс или авг ЕТК: больший часть из эти

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

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


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

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

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

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

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


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

Первый(Поля!Поля myfield.Value, "Datasetname").

Если, введя это, вы все еще получаете ту же проблему, то щелкните правой кнопкой мыши на textbox & select expressions затем в expressions нажмите на Dataset. Выберите набор данных и дважды щелкните нужный столбец. После этого нажмите ok.

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


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

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

обновить поля для определенного набора данных В области данные отчета щелкните правой кнопкой мыши набор данных и выберите пункт Свойства набора данных.

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

в области запрос введите запрос. Кроме того, можно использовать кнопку Импорт для импорта запроса из другой.RDL-файл. Щелкните Обновить Поля. нажимать OK. В области данные отчета разверните узел набор данных, чтобы просмотреть текущую коллекцию полей.