Построитель отчетов SQL: используйте статистическую функцию в ReportItem - PullRequest
0 голосов
/ 30 сентября 2019

Я ввел следующее выражение для данной ячейки, которое, по сути, представляет собой значение в долларах США, разделенное на количество для получения значения в центах на галлон, помеченное как Textbox41:

=ReportItems!Total_Gross_Profit2.Value / ReportItems!Gallon_Qty3.Value

Я пытался использовать это выражение для агрегации AVG в другой ячейке =avg(ReportItems!Textbox41.Value), но я получаю сообщение об ошибке:

Выражение Value для textrun 'Textbox79.Paragraphs[0] .TextRuns [0] 'использует статистическую функцию для элемента отчета. Агрегатные функции могут использоваться только для элементов отчета, содержащихся в верхних и нижних колонтитулах страниц.

Существуют ли ограничения, которые не допускают агрегирование в ReportItems? Я также попробовал следующее, которое также не сработало:

=AVG(ReportItems!Total_Gross_Profit2.Value / ReportItems!Gallon_Qty3.Value)

Где я здесь ошибаюсь?

1 Ответ

1 голос
/ 30 сентября 2019

Относительно вашего вопроса:

Существуют ли какие-либо ограничения, которые не допускают агрегирование в ReportItems?

Ваш ответ содержится в сообщении об ошибке, которое вы предоставили.

Что касается разрешения, трудно дать точное руководство с предоставленной вами информацией, но в целом, начните думать в терминах полей набора данных вместо объектов отчета. Если вы работаете из матрицы или таблицы, и если значения для 'Total_Gross_Profit' и 'Gallon_Qty_3' выглядят примерно так:

= ReportItems!ProfitsFromX.Value + ReportItems!ProfitsFromY.Value
= ReportItems!GallonQtyA.Value + ReportItems!GallonQtyB.Value

Вместо этого укажите прямо на поля:

= Fields!ProfitsFromX.Value + Fields!ProfitsFromY.Value
= Fields!GallonQtyA.Value + Fields!GallonQtyB.Value

Таким образом, когда дело доходит до агрегации, становится более понятным, что делать:

= avg(
      (Fields!ProfitsFromX.Value + Fields!ProfitsFromY.Value)
    / (Fields!GallonQtyA.Value + Fields!GallonQtyB.Value)
)

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

...