Ситуация У меня есть отчет BIRT с гистограммой с накоплением, которая представляет затраты на актив. График основан на кубе данных. На оси Y у меня есть сумма затрат (мера datacube). На оси группа активов (поскольку в наборе данных есть несколько строк для каждого актива). Группировка серий опций — это группа типов затрат. Я отсортировал график по оси x от большего к меньшему в зависимости от стоимости. Это прекрасно работает.
Проблема Проблема в том, что мой набор данных ограничен отчетным периодом и может содержать большое количество активов. Отчет «масштабирует» ось X, чтобы уместить их все. Это сжимает все, что выглядит плохо и почти нечитаемо. Я хочу ограничить график 20 лучшими результатами.
Пробовал
сценарий Я не могу найти способ сделать это. Если бы я использовал кросс-таблицу, я мог бы использовать какой-нибудь сценарий для «подсчета» количества строк, но я не знаю, как заставить BIRT перестать рисовать таблицу. Для графика я понятия не имею, как «подсчитать» количество отображаемых записей по оси X. Здесь я также не вижу способа остановить рисование графика BIRT.
агрегирование. Я также попытался сделать некоторый бегущий подсчет для уникальных групп объектов. Я проверил это, нарисовав свои примеры (в надежде, что я получил прямую линию от 0,0 до 198,198 (теперь набор данных содержит 198 уникальных ресурсов). Я не мог получить это, но если бы я мог, можно было бы использовать фильтр который проверяет, меньше ли это количество бегунов 20.
Я немного упростил набор данных для этого примера. Выполнение двойного запроса, который сначала находит 20 лучших, а затем использует его в качестве базы для получения дополнительной информации, невозможно из-за производительности.
Любые другие идеи приветствуются.