TM1py上传不同的多维数据集

问题描述

我对Tm1非常陌生,必须在我的代码中实现一个功能。 有什么方法可以撤销您的上一个动作?

为了更好地理解错误,请写一个示例: 我有8个不同的多维数据集,我将一个一个上传。 如果一个多维数据集无法上载,则其他所有多维数据集也不应上载。 每个已经上传的多维数据集都应重置为以前的状态。

有没有办法实现它?

解决方法

您必须在主服务器中简化8个加载过程(其他是从属)。如果您的条件使一个或多维数据集无法上传,请使用ProcessError函数。在主进程中,获取每个从属进程的执行结果。如果一个错误,则使用processerror函数(在主数据库中)。所有链条都不会提交。

,

以上来自Wuzardor的答案提供了一种使用TI进程的方法,但是您的问题似乎表明您是在直接使用TM1py / Python还是通过REST API触发TI进程来上传到TM1。

通常,没有简单的方法可以将更改回滚到多维数据集数据。但是,构造Python代码应该足够简单,以便在将任何内容推入任何多维数据集之前,在 中确定所有加载文件的存在和有效性。如果没有更多关于您要实现的目标以及如何实现的详细信息,很难提出最佳方法。

已更新以回应OP评论:

好的,虽然不清楚IT部门不配合什么,但是如果在提取源之前无法验证源,则始终可以先将其加载到登台多维数据集,在此之前可以检查数据将任何内容复制到您的主多维数据集。根据您可能会遇到的数据问题,您可能能够自动执行此检查,或者可能需要人工检查。 无论哪种方式,都只是在您检查新数据之前不要覆盖历史数据

此外,您可能需要考虑整体设计。无论如何,将先前数据的副本保留在多维数据集中是否有意义?为什么不构建多维数据集以使您可以保留历史记录,而不是每次都重新覆盖?找到一个明智的设计确实取决于您的应用程序的细节,但您可能会受益于新鲜的眼光。

欢呼 亚历克斯