Hyperion Financial Management 11.1.2.x CUSTOM_MAP

Еще раз разбираем способ хранения новых измерений в новой версии HFM.( я тоже хочу курить туже траву, что и архитекторы HFM )

Итак, теперь данные по детализации Custom1..CustomN лежат смешным смешанным образом. Об  этом  уже писалось не раз ,( и не два )

Теперь представляю  решение для MsSQL.

Преамбула:

Ранее, в таблице данных HFM для аналитик Custom1…Custom4 были выделенны отдельные поля, в которых лежали индексы к таблицам справочников.

Теперь,  в связи со  “расширением”  количества измерений, есть только два поля lCustom1,lCustom2 , в которых хранится мэпинг на индексы справочников.  Поэтому , для прямого доступа к данным HFM (минуя Extended Analytics ) нужно предварительно разобрать мапинг (таблица …_CUSTOM_MAP).

Все выше сказанное иллюстрирует пример ниже :

В поле lCustom2 хранятся индексы для 5 кастомных аналитик

если открыть данное значение в дебагере C# , то можно увидеть его распределение.

Соответсвенно в десятичной нотации это выглядит следующим образом (взято другое значение из lCustom1)
Для доступа к этим данным, через SQL , создана C# CLR функция , на вход которой подается “зашифрованный” индекс, первый байт, длина значения.
Пример использования приведен ниже.