Как установить тип / свойства фильтра с помощью сценария IronPython на основе типа данных столбцов в Spotfire - PullRequest
0 голосов
/ 11 июня 2019

Столбцы данных вместе с их соответствующим типом данных извлекаются из потокового файла.Все столбцы со строковым типом данных должны отображаться в виде «списка» с количеством строк по умолчанию и вкладкой «Поиск».И все столбцы с датой Datatype должны быть Range Filter.и т. д.

Может кто-нибудь подсказать мне, как это сделать.Ваша помощь очень ценится!Спасибо.

1 Ответ

1 голос
/ 13 июня 2019

Я верю, что это сделает то, что вам нужно. Вы можете собирать типы данных / желаемые типы фильтров по-разному. Это просто проходит по таблице данных по умолчанию в Spotfire.

from Spotfire.Dxp.Application.Filters import ListBoxFilter, RangeFilter, FilterTypeIdentifiers

# first collect all of the data types in the table
filterTypes = {}
for col in Document.Data.Tables.DefaultTableReference.Columns:
    #if the column is not numeric or datatype, assume is text
    if col.DataType.IsNumeric or col.DataType.IsTime:
        filterTypes[col.Name] = "range"
    else:
        filterTypes[col.Name] = "list"

#now change all of the filter types based on the data types
for scheme in Document.FilteringSchemes:
    for filter in scheme.DefaultFilterCollection:
        type = filterTypes[filter.Name]
        if type == "list":
            filter.TypeId = FilterTypeIdentifiers.ListBoxFilter
            filter.As[ListBoxFilter]()
        else:
            filter.TypeId = FilterTypeIdentifiers.RangeFilter
            filter.As[RangeFilter]()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...