如何从 IBM TM1 提取数据



我已经使用 TM1py 包在 Python 和 IBM TM1 OLAP 工具之间建立了连接。现在,当我尝试从 Python 中 TM1 的 MDX 视图中获取数据时,我得到的只是列标题。我阅读了 TM1py 的文档,看起来 get_native_view 函数应该只返回视图的实例,而不是视图中包含的实际数据。

from TM1py.Services import TM1Service
with TM1Service(address='hostname', port=12523,user='username', password=****, ssl=False) as tm1:
query = tm1.cubes.views.get_native_view('cube_name', 'View_name', private=True)
print(query)

有谁知道一种方法可以从 Python 中的 TM1 中提取实际数据,而不仅仅是列标题?

get_native_view函数返回多维数据集视图的定义。

要使用 TM1py 将多维数据集数据从 IBM TM1 拉取到 Python 中,您可以使用 get_view_content 函数(选项 1(或执行 MDX 查询(选项 2(。

选项 1:

from TM1py.Services import TM1Service
with TM1Service(address='localhost', port=12354, user='admin', password='apple', ssl=True) as tm1:
    content = tm1.cubes.cells.get_view_content(cube_name='Plan_BudgetPlan', view_name='Default', private=False)
    print(content)

选项 2:

from TM1py.Services import TM1Service
with TM1Service(address='localhost', port=12354, user='admin', password='apple', ssl=True) as tm1:
    mdx = "SELECT " 
          "NON EMPTY {TM1SUBSETALL( [}Clients] )} on ROWS, " 
          "NON EMPTY {TM1SUBSETALL( [}Groups] )} ON COLUMNS " 
          "FROM [}ClientGroups]"
    content = tm1.cubes.cells.execute_mdx(mdx)
    print(content)

相关内容

  • 没有找到相关文章

最新更新