Нам нужно иметь полусложный отчет в CRM, который отображает некоторые накопленные значения отведений. Единственный способ работы этого отчета - написать хранимую процедуру, которая создает пару временных таблиц и рассчитывает / накапливает данные с использованием курсоров. Затем возникает проблема получения доступа к данным из хранимой процедуры из отчета сервера отчетов. Кто-нибудь знает, возможно ли это? Если бы у меня была возможность написать собственный оператор SQL для генерации данных отчета, это было бы просто превосходно.
Есть указатели?
Edit:
Чтобы пояснить, как я использую курсоры, я могу точно объяснить, что я с ними делаю.
Основой для моего отчета (который, между прочим, должен быть график) является таблица (table1) с тремя соответствующими столбцами:
Start date
Number of months
Value
Я создаю временную таблицу (temp1), которая содержит следующие столбцы:
Year
Month number
Month name
Value
Сначала я перебираю строки в первой таблице и вставляю строку в таблицу для каждого месяца, увеличивая месяц, одновременно устанавливая значение в общее значение, деленное на месяцы. То есть:
2009-03-01,4,1000 в таблице 1 дает
2009,03,March,250
2009,04,April,250
2009,05,May,250
2009,06,June,250
в таблице temp1.
Затем используется новый курсор для суммирования и создания промежуточной суммы из значений в temp1 и передачи ее в temp2, которая возвращается вызывающей стороне в качестве данных для построения диаграммы.
пример данных temp1:
2009,03,March,250
2009,04,April,200
2009,04,April,250
2009,05,May,250
2009,05,May,100
2009,06,June,250
возвращает данные temp2:
2009,03,March,250,250
2009,04,April,450,700
2009,05,May,350,1050
2009,06,June,250,1300
Последний столбец - это промежуточные итоги, которые начинаются с нуля для каждого нового года.