我在spotfire中有很少的数据表。但我需要使用铁python脚本来引用特定表(不是当前的活动参考表)中的列。我还希望在列中打印唯一值。
EX:我有一个具有50个值的属性控件,并且在用户从属性控件中选择一个值时,在过滤器面板中作为复选框,复选框过滤器检查该值,并且当用户选择“否”时必须取消选中其余值取消选中该复选框过滤器中的所有值。
答案 0 :(得分:2)
您可以使用以下脚本从列中获取值。如果您有大量数据,则仅使用该控件。如果您愿意,可以将其删除。
from Spotfire.Dxp.Data import *
tableName='your_table_name'
columnToFetch='your_column_name'
activeTable=Document.Data.Tables[tableName]
rowCount = activeTable.RowCount
rowsToInclude = IndexSet(rowCount,True)
cursor1 = DataValueCursor.CreateFormatted(activeTable.Columns[columnToFetch])
ctr1 = 0
for row in activeTable.GetRows(rowsToInclude,cursor1):
rowIndex = row.Index
val1 = cursor1.CurrentValue
print val1
ctr1 = ctr1 + 1
if (ctr1 == 5):
break
答案 1 :(得分:0)
来自this post的脚本可用于从数据表列中获取唯一值。它的工作原理如下 -
rowCount = activeTable.RowCount
rowsToInclude = IndexSet(rowCount,True)
cursor = DataValueCursor.CreateFormatted(activeTable.Columns[columnToFetch])
使用字典存储值,然后打印键。
UC =字典()
通过遍历游标将值添加到字典中
for row in activeTable.GetRows(rowsToInclude,cursor):
rowIndex = row.Index
val = cursor.CurrentValue
uc.update({val:ctrl})
从字典中检索值
用于uc中的键:打印键