如何使用Iron Python脚本从spotfire表中的列中获取值?

时间:2016-09-05 05:18:52

标签: ironpython spotfire

我在spotfire中有很少的数据表。但我需要使用铁python脚本来引用特定表(不是当前的活动参考表)中的列。我还希望在列中打印唯一值。

EX:我有一个具有50个值的属性控件,并且在用户从属性控件中选择一个值时,在过滤器面板中作为复选框,复选框过滤器检查该值,并且当用户选择“否”时必须取消选中其余值取消选中该复选框过滤器中的所有值。

2 个答案:

答案 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

Credit TechGoje

答案 1 :(得分:0)

来自this post的脚本可用于从数据表列中获取唯一值。它的工作原理如下 -

  1. 将光标创建到列 rowCount = activeTable.RowCount rowsToInclude = IndexSet(rowCount,True) cursor = DataValueCursor.CreateFormatted(activeTable.Columns[columnToFetch])
  2. 使用字典存储值,然后打印键。

    UC =字典()

  3. 通过遍历游标将值添加到字典中 for row in activeTable.GetRows(rowsToInclude,cursor): rowIndex = row.Index val = cursor.CurrentValue uc.update({val:ctrl})

  4. 从字典中检索值

    用于uc中的键:打印键