подсчет промежуточных итогов на лету в Cognos 10.1.1

В моих отчетах много промежуточных итогов, из-за которых размер файла csv увеличился с 3 МБ до 9 МБ. Это сильно замедлило рендеринг промежуточных итогов.

Если отчет представляет собой подразделение отдела продаж по сравнению с отделом продаж в магазине, отчеты выглядят следующим образом:

department stores sales_unit     
    1         1      500 
    10        2      600 
subtotal for 10      1100
    11        1      550 
    11        2      650 
subtotal for 11      1200 
overall total        2300

запрос будет извлекать данные в этой форме

10;1;500;1100;2300 
10;2;600;1100;2300 
11;1;550;1200;2300 
11;2;650;1200;2300 

Но я хочу, чтобы запрос вытащил только это

10;1;500 
10;2;600 
11;1;550 
11;2;650

а затем выполните подсчет промежуточных итогов в памяти. Вся моя точка зрения - поскольку dept_subtotal и general_total извлекаются как столбец, они повторяются во всех строках. В моем фактическом отчете 25 столбцов в каждом столбце с 5 показателями и промежуточными итогами для 5 столбцов, что увеличило размер моего файла в 3 раза.

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


person chemicalkt    schedule 17.09.2013    source источник


Ответы (1)


Импортируйте только данные самого низкого уровня - без промежуточных итогов. Неясно, импортируете ли вы из базы данных или CSV. Однако при использовании встроенных группировок / агрегатов Cognos промежуточные итоги / итоги всегда будут вычисляться на стороне Cognos, а не на стороне базы данных / CSV. Вы можете подтвердить это по сгенерированному SQL.

person toddsonofodin    schedule 18.09.2013
comment
Я полагал, что Cognos выполнял промежуточные вычисления в памяти, но это не то, что я проверил, посмотрев на сгенерированный sql. Я не импортирую из csv. Выше я привел пример данных csv, чтобы показать, как когнус извлекает данные. Я в версии 10.1.1. Вы знаете, могу ли я сделать подсчет промежуточных итогов в памяти, а не извлекать данные из базы данных? Я хотел бы получить известие от вас как можно скорее, так как это очень срочно. Спасибо. - person chemicalkt; 19.09.2013
comment
В какой базе данных вы находитесь? Каков пример вычисления промежуточных итогов в SQL? Если вы запускаете сгенерированный SQL непосредственно в базе данных, занимает ли это значительно меньше времени, чем Cognos запускает отчет? Я не знаю ни одного флага. Это одна из тех вещей, которые обычно работают. Если ваш экспортный файл увеличился в 3 раза, проблема со скоростью может быть связана с визуализацией, а не с обработкой данных. - person toddsonofodin; 19.09.2013
comment
Netezza - это БД. Пример промежуточного расчета - это промежуточный итог для каждого отдела, как показано в вопросе. Sql занимает всего около 1 минуты, но отчет длится около 7 минут. Рендеринг может быть проблемой, поэтому я попытался установить ограничение на количество строк, равное 100. Это дает выигрыш в 1 минуту. или около того, но все же 6 минут - это слишком много для запроса, который выполнялся за 1 минуту. - person chemicalkt; 19.09.2013
comment
Разместите сгенерированный SQL. Даже в этом случае разница в 7 раз указывает на серьезные проблемы со средой Cognos. Может быть связано с конфигурацией или сетью. Промежуточные итоги - это симптом, а не причина вашей проблемы. - person toddsonofodin; 19.09.2013
comment
Что делать sql, если сеанс базы данных закончился примерно через минуту? Я могу дать вам дамп sql и excel, но его довольно сложно опубликовать здесь. Думаю, мне нужно отправить его на вашу электронную почту. Могу я получить ваш идентификатор? - person chemicalkt; 20.09.2013
comment
Вы можете найти выходные данные sql и csv по этой ссылке. dl.dropboxusercontent.com/u/17747414/sql%2C%20csv. 7z - person chemicalkt; 20.09.2013
comment
Я взглянул на SQL и вывод, но по большей части он кажется довольно специфичным для бизнеса. На самом деле не имеет значения, насколько сложен оператор SQL в Netizza - если он вернется через минуту, это неплохо. 7 минут на рендеринг Cognos указывают на наличие проблемы. Проконсультируйтесь с администратором Cognos, чтобы проверить настройки. Проконсультируйтесь с сетевым администратором, чтобы проверить связь между сервером и клиентом. Сеть может быть дополнительно диагностирована путем тестирования разницы между запуском отчета в виде задания и по запросу. Собираюсь в отпуск на 10 дней, поэтому мы не сможем оказать дополнительную помощь. - person toddsonofodin; 20.09.2013