TM1py загрузка разных кубов

Я очень новичок в Tm1 и должен реализовать новую функцию в своем коде. Есть ли способ отменить последнее действие?

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

Есть ли способ реализовать это?


person jonashe    schedule 07.10.2020    source источник


Ответы (2)


Вы должны указать процесс загрузки 8 в мастере (остальные - ведомые). Если у вас есть условие, которое делает один или ваш куб недоступным для загрузки, вы используете функцию ProcessError. В главном процессе вы получаете результат выполнения каждого подчиненного процесса. Если один из них ошибочен, вы используете функцию processerror (в мастере). Вся цепочка не будет зафиксирована.

person Wuzardor    schedule 09.10.2020

Приведенный выше ответ от Wuzardor предлагает подход с использованием процессов TI, но ваш вопрос, похоже, предполагает, что вы используете TM1py/Python для загрузки в TM1 либо напрямую, либо путем запуска процессов TI через REST API.

Как правило, не существует простого способа отката изменений данных куба. Тем не менее, должно быть достаточно просто структурировать ваш код Python таким образом, чтобы существование и действительность всех файлов загрузки устанавливались до того, чтобы вы отправили что-либо в любой из ваших кубов. Трудно предложить лучший подход без более подробной информации о том, чего вы пытаетесь достичь и как.

Обновлено в ответ на комментарий OP:

Хорошо, пока непонятно, с чем ИТ-отдел не сотрудничает, но если вы не можете проверить источник до его извлечения, вы всегда можете сначала загрузить его в промежуточный куб, где можно проверить данные, прежде чем копировать что-либо в Ваши основные кубы. В зависимости от того, с какими проблемами вы, как правило, сталкиваетесь с данными, вы можете автоматизировать эту проверку или, возможно, вам придется положиться на человека, который просматривает ее. В любом случае, просто не перезаписывайте свои исторические данные, пока не проверите новые данные.

Кроме того, вы можете подумать о своем общем дизайне. Есть ли смысл в любом случае сохранять копию предыдущих данных в кубах? Почему бы не построить свои кубы так, чтобы вы могли сохранить историю, а не перезаписывать ее каждый раз? Поиск разумного дизайна действительно зависит от деталей вашего приложения, но вам может быть полезно взглянуть на него свежим взглядом.

Привет Алекс

person mrfrogger    schedule 18.10.2020
comment
Да, точно. Проблема в том, что наша команда tm1 отказывается предоставить мне список входных данных и их типов данных. Я также хотел сделать резервную копию самостоятельно, но наш директор упомянул, что ему все еще нужно решение со стороны tm1. Один коллега, который связался с tm1, показал возможность сделать резервную копию вручную, но я не нашел решения для своего кода. - person jonashe; 22.10.2020