Добавление размеров в существующий куб в TM1

Есть две части процесса TI, который смущает меня без конца.

  1. Этот процесс предположительно создает новые измерения для куба (используя атрибуты некоторого элемента) без источника данных. Но все, что я вижу, это то, что оно создает имя измерения и сразу же переходит к добавлению элемента в это измерение. Как это вообще возможно, если кто-то уже не создал измерение этого имени, что очень маловероятно? (Скриншот ниже)

Создание измерения без источника данных

  1. Говорят также, что этот процесс добавляет эти вновь созданные измерения в существующий куб. Как это можно сделать? Как существующие данные в этом кубе будут соответствовать новым измерениям?

1 ответ

Решение

Этот процесс якобы создает новые измерения для куба

Нет, это не так, и не претендует на это. Комментарий в коде ничего не говорит о создании измерения, он говорит " Создать имя измерения". То есть он просто определяет, каким должно быть имя измерения для использования в функции DimensionElementInsert. Атрибут предоставляет базовое имя для измерения, которое уже должно существовать. (Хотя это что-то вроде предмета веры, учитывая, что функция DimensionExists не вызывается ни в какой момент. Конечно, учитывая полное отсутствие обработки ошибок в TI, вы ничего не можете с этим поделать, даже если это не так. существовать.) Раздел кода выше выделенного вами не пытается создать измерение - функция DimensionCreate здесь нигде не вызывается - он просто анализирует значение атрибута, символ за символом, заменяя любые пробелы подчеркиванием (после вставки rp_ перед ним), чтобы получить правильное имя измерения.

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

Комментарий Ника МакДермаида верен; Вы НЕ МОЖЕТЕ добавить измерения в существующий куб. Вы можете экспортировать данные, уничтожить куб, построить новый куб с тем же именем, но с дополнительными измерениями, и импортировать в него старые данные, но это не так. И процесс импорта должен иметь некоторый код, чтобы выбрать соответствующий элемент (ы) нового измерения (й) для использования при записи данных.

не поэтому они добавляют новые элементы в измерение меры вместо того, когда необходимо добавить больше размерности в куб

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

Что еще более важно, размеры - это размеры, элементы - это элементы. Когда вы добавляете элементы в измерение, вы НЕ изменяете размерность куба. (Вы можете (и, вероятно, будете) изменять разреженность, но это совершенно другая концепция.) Единственный способ сделать это - добавить новые измерения в куб, чего, как отмечалось выше, вы на самом деле не можете сделать; вместо этого вы уничтожаете старый куб и заменяете его новым, который просто имеет то же имя и другое количество измерений. Учитывая, что при этом будут уничтожены все фрагменты, активные формы, представления и т. Д., Которые когда-либо были написаны для куба, на практике это не то, что делается или должно быть очень часто.

Другие вопросы по тегам