Сценарий Ironpython для обратной даты сортировки + должен выбрать последнюю дату из столбца (тип фильтра: Listbox) в Spotfire 7.8? - PullRequest
0 голосов
/ 30 октября 2019

Я ищу скрипт Ironpython, который может помочь мне перевернуть, отсортировать и упорядочить столбец даты из отчета / потока данных в spotfire 7.8v, и он должен выбрать самую последнюю дату / текущую дату в столбце (тип фильтра: Listbox) в визуализации текстовой области.

Вот то, что я пытался отменить сортировку дат, но это не помогает выбрать последнюю дату (возможно, это немного изменено где-то в сценарии ниже, как мне кажется). Если нет, предоставьте новый скрипт, решающий эту проблему.

СКРИПТ IRONPython:

from System.Reflection import Assembly

from Spotfire.Dxp.Data.Collections import *

from System.Runtime.Serialization import ISerializable

from System.Collections import IComparer

from System.Collections.Generic import IComparer

column = Document.Data.Tables['DATA_TABLE'].Columns['COLUMN_NAME']

values = column.RowValues.GetEnumerator()

myValues = []

for val in values:

    if val.HasValidValue:  #exclude empty values

        myValues.Add(val.ValidValue)

myValues.sort(reverse=True)

column.Properties.SetCustomSortOrder(myValues)

Спасибо, Мэдди

1 Ответ

0 голосов
/ 04 ноября 2019

Я нашел ответ на свой вопрос, надеюсь, это поможет и другим пользователям. Ниже приведен сценарий Iron python для обратного порядка сортировки даты (в порядке убывания), который должен выбирать последнюю дату в фильтре списка.

from System.Reflection import Assembly
from Spotfire.Dxp.Data.Collections import *


from System.Runtime.Serialization import ISerializable`
from System.Collections import IComparer
from System.Collections.Generic import IComparer
from System.Collections.Generic import IComparer

column = Document.Data.Tables ['TABLE_NAME']. Columns ['COLUMN_NAME']

values = column.RowValues.GetEnumerator()
#Val is a value inside the Column specified in the GetFilter
#print values
myValues = []
for Val in values:
if Val.HasValidValue:  #exclude empty values
myValues.Add(Val.ValidValue)
print Val.ValidValue
myValues.sort(reverse=True)
column.Properties.SetCustomSortOrder(myValues)
myPanel = Document.ActivePageReference.FilterPanel
myFilter= myPanel.TableGroups[0].GetFilter("COLUMN_NAME")
#ListBoxFilter
#myFilter.FilterReference.TypeId = FilterTypeIdentifiers.ListBoxFilter
listBoxFilter = myFilter.FilterReference.As[filters.ListBoxFilter]()
listBoxFilter.IncludeAllValues=False
listBoxFilter.SetSelection(myValues[0])
#uncheck all
#ListBoxFilter.IncludeEmpty = False #make sure to clear the empty values
#for value in ListBoxFilter.Values:
#  ListBoxFilter.Uncheck(value)
#ListBoxFilter.Check(myValues)
...