Сложность в том, что количество колонок "вправо" могут увеличиваться сценариями бюджетирования (на скриншоте пример с 2-мя сценариями). И нужно убрать "лишнее".
Период в отчете Год, но пользователь требует реализовать различную детализацию по периоду вплоть до дня!
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший