farzana khan Posted January 21, 2020 Share Posted January 21, 2020 from Spotfire.Dxp.Data import * from Spotfire.Dxp.Application.Visuals import * from Spotfire.Dxp.Data import DataProperty from Spotfire.Dxp.Data import DataPropertyClass import Spotfire.Dxp.Application.Filters as filters import Spotfire.Dxp.Application.Filters.ListBoxFilter from Spotfire.Dxp.Application.Filters import FilterTypeIdentifiers import Spotfire.Dxp.Application.PanelCollection import Spotfire.Dxp.Application.PanelTypeIdentifiers from Spotfire.Dxp.Application import Panel from Spotfire.Dxp.Application.Layout import PanelState as ps from Spotfire.Dxp.Data import DataPropertyClass from System import String from System import Array from Spotfire.Dxp.Data import IndexSet from Spotfire.Dxp.Data import DataValueCursor from Spotfire.Dxp.Application.Layout import LayoutDefinition from System.Collections.Generic import List myPanel = Document.ActivePageReference.FilterPanel #get the data table table=Document.Data.Tables["IL_FE_Supervisor_HospitalName"] # Get a reference to the specified filtering scheme on the data table above dataFilteringSelection = dataFilteringSelection = Document.Data.Filterings["Filtering scheme"] filteringScheme = Document.FilteringSchemes[dataFilteringSelection] filterCollection = filteringScheme[table] # Filtered rows based on the scheme above filteredRows = filterCollection.FilteredRows #place generic data cursor on a specific column cursorA = DataValueCursor.CreateFormatted(table.Columns["Hospital Name & FE ID"]) cursorB = DataValueCursor.CreateFormatted(table.Columns["Primary FE User ID"]) #list object to store retrieved values valDataA = List [str](); valDataB = List [str](); #iterate through table column rows to retrieve the values for row in table.GetRows(filteredRows,cursorA,cursorB): #rowIndex = row.Index ##un-comment if you want to fetch the row index into some defined condition valueA = cursorA.CurrentValue valueB = cursorB.CurrentValue if valueA str.Empty: valDataA.Add(valueA) print valDataA if valueB str.Empty: valDataB.Add(valueB) sorted(valDataB) print sorted(valDataB) rowCount = 0 while rowCount Link to comment Share on other sites More sharing options...
Khushboo Rabadia Posted January 28, 2020 Share Posted January 28, 2020 Hello, I am bit confused, are you asking question or stating this script is the answer of the question mentioned in description Link to comment Share on other sites More sharing options...
Tyger Guzman 2 Posted January 29, 2020 Share Posted January 29, 2020 You'd want to sort your lists after they are created and before the iterations to create the pages: In Python the .sort() is used butthat does not work in Spotfires IronPython mylist = [1, 3, 4, 2] print(mylist.sort()) print(mylist.sort(reverse=True))You would want to utilize sorted() function. numbers = [1, 3, 4, 2] print(numbers) print(sorted(numbers,reverse=False)) print(sorted(numbers,reverse=True))the same works for strings : numbers = ['d', 'a', 'c', 'b'] print(numbers) print(sorted(numbers,reverse=False)) print(sorted(numbers,reverse=True)) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now