В моих отчетах много промежуточных итогов, из-за которых размер CSV-файла увеличился с 3 МБ до 9 МБ. Это сделало промежуточную рендеринг очень медленной.расчет промежуточного итога «на лету» в Cognos 10.1.1
Если отчет Департамент против Группы магазинов по продажам, отчеты выглядит
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 и total_total вытягиваются как столбец, они повторяются во всех строках. Мой фактический отчет содержит 25 столбцов, каждый столбец имеет 5 показателей и промежуточных итогов для 5 столбцов, что сделало мой размер файла в 3 раза больше.
Есть ли способ сказать, вычислять промежуточные итоги в памяти на лету, а не в базе данных?
Я верил, что Cognos делал подсчет в памяти, но не проверен, посмотрев на сгенерированный sql. Я не импортирую из csv. Я привел образец данных csv выше, чтобы показать, как cognos извлекает данные. Я верю в 10.1.1. Знаете ли вы, могу ли я сказать, что делать подсчет в памяти и не извлекать из базы данных? Я хотел бы услышать от вас очень быстро, так как это очень актуально. Благодарю. – chemicalkt
В чем вы работаете? Что такое примерный подсчет в SQL? Если вы запустили сгенерированный SQL-адрес напрямую с базой данных, требуется ли значительно меньше времени, чем Cognos запускает отчет? Я не знаю ни одного флага. Это всего лишь одна из тех вещей, которые обычно срабатывают. Если ваш файл экспорта вырос на 3 раза, проблема со скоростью может быть вызвана обработкой, а не обработкой данных. – toddsonofodin
Netezza - это БД. Пример промежуточного расчета является промежуточным итогом для каждого отдела, как показано в вопросе. Sql занимает всего около 1 минуты, но отчет работает около 7 минут. Рендеринг может быть проблемой, поэтому я попытался с лимитом строки 100. У этого есть выигрыш в 1 мин. или так, но еще 6 минут - это слишком много для запроса, который длился 1 мин. – chemicalkt