SUM по-прежнему включает в себя подавленные значения - PullRequest
1 голос
/ 03 августа 2010

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

IE:

Позиция 1 - 3 августа 2010 г. - стоимость 1000 долл. США
Позиция 1 - 4 августа 2010 г. - (расходы исключены)
Позиция 2 - 3 августа 2010 г. - 100 долл. США
Позиция 3 - 4 августа 2010 г.- $ 200

Когда это суммируется, оно должно отображаться как 1300 долларов, но вместо этого оно отображается как 2300 долларов.

Я сократил раздел затрат с помощью формулы:

(
if (Previous({MyReportData;1.MyItemId}) = {MyReportData;1.MyItemId}) then
    true
else
    false
)

Эта формула работает нормально.

Я попытался создать формулу для выполнения пользовательской суммы, которая исключит дублирующиеся элементы, но продолжает говорить: «Это поле не может быть суммировано.

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 03 августа 2010

У вас есть два варианта

  1. Измените ваш SQL, чтобы вводить только те данные, которые вам нужны.Вы, очевидно, не хотите строки для 4 августа 2010 года. Так что не включайте это в отчет.Тогда ваше резюме будет работать, как и ожидалось.

  2. Создайте промежуточную сумму и оцените изменение строки, используя противоположную формулу подавления.

0 голосов
/ 03 августа 2010

Другой вариант - просто использовать глобальные переменные для отслеживания вашей суммы, используя обратное условие, которое вы используете для подавления. Это должно быть лучше с точки зрения производительности, чем использование полей «Итоговые данные» или «Сводка» Crystal.

Хотя я бы предположил, что использование выражения SQL для простого выбора строк с самыми ранними датами по ItemID будет еще быстрее и избавит Crystal от необходимости проходить через данные.

...