Я должен отметить, что я довольно плохо знаком с отчетами за пределами Microsoft Access и плохо знаком с сайтом, поэтому, пожалуйста, потерпите меня!
Если разобраться с необходимыми элементами, мой объект данных имеет:CategoryID, ParentCategoryID, TransactionID, TransactionDate, SplitID, CurrencyID и Value.
Не думаю, что это актуально, но на всякий случай -
- Разделение имеет категорию иЗначение, при котором один ко многим принадлежит транзакции.
- Может существовать несколько разделений для одной и той же категории и транзакции с разным или одинаковым значением (для поддержки различных комбинаций других элементов данных, которых я не перечислил).
- Транзакция имеетa TransactionDate и CurrencyID, так что все Сплиты, принадлежащие Транзакции, относятся к одной и той же Валюте.
- Категория относится к Категории рекурсивно.
Разделению может быть назначена Категория влюбой уровень в рекурсивной иерархии и суть моей проблемы - сообщить подробности транзакции / разделения под соответствующим заголовком категории с промежуточным итогом, включающим все эти сведения и итоги всех дочерних категорий.
Итак, У меня есть группа строк Detail, содержащая все ненужные элементы вспомогательных данных, и группа строк TransactionIDGroup в той же строке.Затем у меня есть группа строк CategoryGroup на основе CategoryID с Parent of ParentCategoryID для обработки рекурсивного характера данных и группа столбцов CurrencyIDGroup для обработки возможных нескольких задействованных валют.
Также в группе строк CategoryIDGroup естьитоговая строка с ячейкой «Значение», содержащей выражение.
Если я оставлю это выражение как = Sum (Fields! AccountValue.Value), отчет довольно хорошо суммирует значение для каждого столбца «Валюта» для всех деталей, конкретно в каждомКатегория (область по умолчанию), поэтому я подумал, что нужно сделать сумму «Рекурсивной».Однако вы, похоже, не можете указать необязательный параметр Recursive без указания области.
Если я задаю область в качестве CategoryIDGroup, я получу все нулевые промежуточные итоги.Если я использую CurrencyIDGroup, я получаю каждый отчет с одинаковым итогом для Валюты.Все остальное либо приводит к ошибке сборки, либо к сумме отчета в комбинированной валюте.
Другая проблема, с которой я сталкиваюсь, заключается в том, что рекурсивные дочерние группы категорий сообщаются последовательно под родительской группой категорий (так, вне строки заголовка,Строки детализации и итоговая строка, а не внутри группы. Однако, если бы я мог получить итоговую сумму, отражающую детей, а также детали на этом уровне, я был бы достаточно счастлив, даже если бы это не складывалосьпока вы не поняли, что происходит.
Я имею в виду что-то вроде:
Category A
Transaction 1 10/02/2011 ...................... £100.00
---------------------- £14.50
Transaction 2 18/03/2011 ...................... $159.34
Category Ai
Transaction 3 18/06/2011 ---------------------- £295.60
Total Category Ai £295.60
Total Category A £410.10 $159.34*
Но я получаю следующее:
Category A
Transaction 1 10/02/2011 ...................... £100.00
---------------------- £14.50
Transaction 2 18/03/2011 ...................... $159.34
Total Category A £114.50 $159.34*
Category Ai
Transaction 3 18/06/2011 ---------------------- £295.60
Total Category Ai £295.60
Я думаю,основной вопрос - спрашиваю ли я о невозможном? Нужен ли мне другой подход, возможно, с дополнительными отчетами для деталей? Я задавался вопросом о включении суммы значений дочерних категорий в объект данных на каждомУровень категории, но есть ли что-то простое, что я пропускаю?
Любые указатели в правильном направлении будут высоко оценены послетер несколько дней рвал на себе волосы:)