Страница 1 из 1
Проценты в кросс-табе
Добавлено: 06 мар 2009, 05:51
Igor M. Sharafutdinov
Есть вот такой отчёт с кросстабом.
Но есть две проблемы:
1) надо добавить третью колонку - % всех звонков, приходящийся на конкретного абонета, не знаю как.
2) в БД время хранится в секундах, пробовал делать вычисляемую колонку типа timespan, которой присваивал значение "TimeSerial(0,0,Calls.ConnectionTime)" (где ConnectionTime - время в секундах, тип int) , но в кросстабе из неё почему-то ничего не выводится.
Что можете посоветовать?
Спасибо.
Проценты в кросс-табе
Добавлено: 10 мар 2009, 07:41
Igor M. Sharafutdinov
UP:dumb:
Проценты в кросс-табе
Добавлено: 10 мар 2009, 07:45
Edward
Здравствуйте.
К сожалению, в текущей версии генератора отчетов это невозможно. Мы сможем заняться усовершенствованием работы кросс-таблицы только после выхода официального релиза 2009.1 в начале апреля.
Спасибо.
Проценты в кросс-табе
Добавлено: 10 мар 2009, 08:09
Igor M. Sharafutdinov
Хорошо, но можно хотя бы, используя группировку, посчитать процент для каждой группы? К примеру, отношение числа звонков на каждый из номеров к сумме звонков на все номера * 100%? Без кросс-табов, я имею ввиду.
Проценты в кросс-табе
Добавлено: 10 мар 2009, 08:22
ppvlad
извините, что встреваю, вопрос был именно про "кросс", но может быть конкретно для этого отчёта кросс не так уж и нужен?
это я к тому, что может тупо выбрать, например, хранимой процедурой, данные сразу в нужном виде и свести всё к тривиальному случаю?
Проценты в кросс-табе
Добавлено: 10 мар 2009, 08:26
Edward
Здравствуйте.
Да, такое возможно. Вам понадобится для этого 'источник данных на основе других данных'. Этот источник поможет сгруппировать данные и посчитать агрегатную функцию. Далее устанавливаете у объекта отчета свойство CacheAllData в true и создаете связь master-detail с основным источником данных.
Также есть вариант добавить вычисляемую колонку сразу с расчетом Вашей функции, но это будет работать гораздо медленнее.
Условие в этой колонке будет выглядеть следующим образом:
Код: Выделить всё
MyDataSource.MyDataColumn1/Totals.Sum(MyDataSource,(MyDataSource.MyDataColumn2==условиеГруппировки)?MyDataColumn1:0)
Спасибо.
Проценты в кросс-табе
Добавлено: 10 мар 2009, 09:06
Igor M. Sharafutdinov
Спасибо!
А примера нет?
Проценты в кросс-табе
Добавлено: 16 мар 2009, 08:14
Edward
Здравствуйте,
Нет, к сожалению примера нет.
Спасибо.