如何更新所有 table 并动态获取 table 名称?
How to update all tables and get table names dynamically?
我在 Tibco Spotfire 工作,想要一种方法来更新分析中的所有数据源。这可以使用此处描述的脚本来完成:Spotfire - How to add a reload button
我是这样实现的:
# * * *
#
# Update tables based on:
#
#
# * * *
import ctypes
from System.Collections.Generic import List, Dictionary
from Spotfire.Dxp.Data import DataTable
from System.Collections import ArrayList
ctypes.windll.user32.MessageBoxW(0, "About to refresh all data from databases...", "Data Update", 1)
tables = ArrayList()
tables.Add(Document.Data.Tables["raw_table_col_detail"])
tables.Add(Document.Data.Tables["age_group"])
Document.Data.Tables.Refresh(tables)
ctypes.windll.user32.MessageBoxW(0, "Done with update.", "Data Update", 1)
我现在想实现它,以便它可以用于任何分析。我怎样才能得到可用 table 的列表,然后遍历列表(即我怎样才能动态地执行上述操作而不必指定 table 名称,“raw_table_col_detail”,“ age_group”等)。
根据您使用的 Spotfire 版本,这里有几个选项 https://community.tibco.com/wiki/how-refresh-or-reload-data-using-ironpython-script-tibco-spotfire
您可以遍历它们并一次刷新一个
import ctypes
ctypes.windll.user32.MessageBoxW(0, "About to refresh all data from databases...", "Data Update", 1)
for t in Document.Data.Tables:
t.Refresh()
ctypes.windll.user32.MessageBoxW(0, "Done with update.", "Data Update", 1)
或者您可以将它们推送到一个数组并一起刷新它们
import ctypes
from System.Collections import ArrayList
tables = ArrayList()
for t in Document.Data.Tables:
tables.Add(t)
ctypes.windll.user32.MessageBoxW(0, "About to refresh all data from databases...", "Data Update", 1)
Document.Data.Tables.Refresh(tables)
ctypes.windll.user32.MessageBoxW(0, "Done with update.", "Data Update", 1)
我在 Tibco Spotfire 工作,想要一种方法来更新分析中的所有数据源。这可以使用此处描述的脚本来完成:Spotfire - How to add a reload button
我是这样实现的:
# * * *
#
# Update tables based on:
#
#
# * * *
import ctypes
from System.Collections.Generic import List, Dictionary
from Spotfire.Dxp.Data import DataTable
from System.Collections import ArrayList
ctypes.windll.user32.MessageBoxW(0, "About to refresh all data from databases...", "Data Update", 1)
tables = ArrayList()
tables.Add(Document.Data.Tables["raw_table_col_detail"])
tables.Add(Document.Data.Tables["age_group"])
Document.Data.Tables.Refresh(tables)
ctypes.windll.user32.MessageBoxW(0, "Done with update.", "Data Update", 1)
我现在想实现它,以便它可以用于任何分析。我怎样才能得到可用 table 的列表,然后遍历列表(即我怎样才能动态地执行上述操作而不必指定 table 名称,“raw_table_col_detail”,“ age_group”等)。
根据您使用的 Spotfire 版本,这里有几个选项 https://community.tibco.com/wiki/how-refresh-or-reload-data-using-ironpython-script-tibco-spotfire
您可以遍历它们并一次刷新一个
import ctypes
ctypes.windll.user32.MessageBoxW(0, "About to refresh all data from databases...", "Data Update", 1)
for t in Document.Data.Tables:
t.Refresh()
ctypes.windll.user32.MessageBoxW(0, "Done with update.", "Data Update", 1)
或者您可以将它们推送到一个数组并一起刷新它们
import ctypes
from System.Collections import ArrayList
tables = ArrayList()
for t in Document.Data.Tables:
tables.Add(t)
ctypes.windll.user32.MessageBoxW(0, "About to refresh all data from databases...", "Data Update", 1)
Document.Data.Tables.Refresh(tables)
ctypes.windll.user32.MessageBoxW(0, "Done with update.", "Data Update", 1)