22 июля 2009

Ноликопад... Продолжение.

Вчера пришлось много раз объяснять чем же плохи нолики. Решил написать еще сюда.

Когда мы заносим ноль в, скажем, объем продаж, то создается блок. Дальше при агрегации этот нолик лезет вверх и множится - при этом тоже создаются блоки. Рассмотрим пример, как это происходит, допустим у нас есть такие разреженные направления:

Финструктура - 5 уровней
Контрагенты - 5 уровней
Территория - 5 уровней
Товар - 7 уровней


Под количеством "уровней" я подразумеваю длину цепочки от листа до корня иерархии.
Теперь давайте посмотрим, что произойдет с нашим ноликом в случае планирования снизу-вверх.

При агрегации по финструктуре блоков с ноликами станет уже 5, по контрагентам - 25 и так далее получим 875 логически пустых блока, но Essbase этого не знает, для него 0 это такая же цифра как 10 или 245. Ну как вам, нравится? Мне тоже.

Вот еще реальный пример на одной из полубоевых баз. Для чистоты эксперимента я сначала почистил все блоки, которые оказались пустыми, даже без ноликов. Итак

Было Стало Удалено
lvl0 133728 49332 84396
All 3175055 735693 2439362


Получилось примерно соотношение введенных к созданным 1/28 - не так впечатляюще, но это объясняется тем, что на каком-то уровне агрегации к нолику прибавляются значащие цифры и блок уже не надо удалять.

2 комментария:

  1. хороший метод по очистке блоков :)
    - я про него не знал и не догадывался. спсб. %)

    ОтветитьУдалить
  2. Об этом мистер Роске на прошлом калейдоскопе рассказывал, правда там в презенташке около 100 страниц, но эта почему-то запомнилось, наверно из-за оригинальности.

    ОтветитьУдалить