如何使用Rest API调用更新TM1多维数据集数据

问题描述

我正在尝试找到一种方法来对TM1进行Rest API调用,以向其发送要在多维数据集中更新的数据数组。可以通过多维数据集的键识别要更新的数据,但它不是所有要更新的记录(例如,使用新值更新第3行和第5行)。

我在查找示例时遇到问题。我确实从文档“ Cube.UpdateCells”中看到了,但是没有看到有关如何使用它的示例。我还看到了https://www.ibm.com/support/knowledgecenter/SS9RXT_10.2.2/com.ibm.swg.ba.cognos.tm1_rest_api.10.2.2.doc/t_tm1_rest_api_cellsets.html#dg_tm1_odata_update_many_cell_values,其中提到了更新许多单元格但没有示例。

在这里没有找到任何东西,因此将不胜感激!

解决方法

您应该尝试使用tm1.Update函数,并在多维数据集中写入确切的交叉。 URL看起来像这样; https://myserver:myportnumber/api/v1/Cubes('mycube')/tm1.Update 并在POST请求的正文中,将多维数据集与该值的精确相交。 看起来像这样:

{
    "Cells":[
        {"Tuple@odata.bind": [
            "Dimensions('Version')/Hierarchies('Version')/Elements('BUDGET')","Dimensions('Societe')/Hierarchies('Societe')/Elements('S01')","Dimensions('Compte')/Hierarchies('Compte')/Elements('C7090')","Dimensions('Annee')/Hierarchies('Annee')/Elements('2019')","Dimensions('Mois')/Hierarchies('Mois')/Elements('M01')","Dimensions('m_Couts')/Hierarchies('m_Couts')/Elements('MONTANT')"
            ]
        }
    ],"Value":"1234"
}

您可以在此处了解有关TM1 REST API的更多信息: https://code.cubewise.com/tm1-rest-api

您将获得很多解释。尝试他们的Postman Collection for TM1 REST API,您将学到很多东西。您只需要在笔记本电脑上安装POSTMAN并在IBM示例服务​​器上尝试即可。

通常,Cubewise是很多好的工具。 如果您了解Python或想要学习它,可以进一步学习,拥有TM1Py库非常适合与TM1 REST API一起使用