2016-09-05 57 views
-1

我在spotfire中有幾個數據表。但我需要使用鐵python腳本來引用特定表中的列(這不是當前的活動引用表)。而且我想在列中打印唯一值。如何使用Iron Python腳本從Spotfire表中的列中獲取值?

EX:當用戶從屬性中選擇一個值時,我有一個具有50個值的屬性控件,並且在篩選器面板中作爲複選框控制複選框篩選器以檢查該值,並且必須取消剩餘的值當用戶選擇無時,取消選中該複選框過濾器中的所有值。

+0

請幫我解決這個問題 – sofuser9

回答

1

您可以使用下面的腳本從列中獲取值。如果您有大量數據,則僅使用該控件。如果您願意,可以將其刪除。

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

+0

感謝scsimon用這個腳本我能夠打印t列中的所有值[偶數重複],但有什麼方法可以打印來自特定列的唯一值 – sofuser9

+0

@Rama您必須將其存儲在唯一陣列中。希望這對你有所幫助。這是99%不是?在API中的一點研究將完成它 – scsimon

+1

@rama你還沒有投票或接受你以前的問題單個答案。我會鼓勵你們重新審視這些問題並提出有用的答案,並接受那些正確的答案。如果你的趨勢繼續沒有獎勵支持者,許多計算器貢獻者可能會忽略你的問題。食物爲思想伴侶。 – scsimon

0

this post該腳本可以用來從數據表列中獲取唯一的值。它的工作原理如下 -

  1. 創建一個光標 列rowCount = activeTable.RowCount rowsToInclude = IndexSet(rowCount,True) cursor = DataValueCursor.CreateFormatted(activeTable.Columns[columnToFetch])
  2. 使用存儲的值,然後打印鍵的字典。

    UC =字典()通過光標遍歷 for row in activeTable.GetRows(rowsToInclude,cursor): rowIndex = row.Index val = cursor.CurrentValue uc.update({val:ctrl})

  3. 從字典

    檢索值在UC鍵

  4. 增加價值的詞典:打印鍵