Quintiq file version 2.0 #parent: #root Method RefreshData () id:Method_SC_frmScenarioCompare_RefreshData { #keys: '[136398.1.957240028]' Accessibility: 'Extensible' Body: [* // Queries the KPI Tracker for the KPI compare data compareLabel := selKpiCompareLabel.Data(); compareLabels := selectset( dhSelectedCompareLabelValues.Data(), Elements, val, val.Label() = compareLabel ); fixedLabels := selectset( dhSelectedFilterLabelValues.Data(), Elements, val, val.Label() <> compareLabel ); set := Kpi_GlobalState.QueryDataFromServer( compareLabels, fixedLabels ); Kpi_GlobalState.PropagateLabel( set, compareLabel.Name() ); Kpi_GlobalState.PropagateTimeStamp( set, rbgTimeType.BoundValue() ); //Remove duplicate values and set relations uniquesetdatavalues := construct( Strings ) sortedsetsnapshots := selectsortedset( set, SnapshotData, snapshot, true, DateTime::Now() - snapshot.ServerDateTime() ) traverse( sortedsetsnapshots, Elements, snapshot ) { traverse( snapshot, Value, datavalue ) { uniquestring := datavalue.Name() + ";" + datavalue.UI_LabelValue() if( exists( uniquesetdatavalues, Elements, value, value = uniquestring ) ) { //remove older duplicate datavalue.Delete(); } else { uniquesetdatavalues.Add( uniquestring) } } } // Set relations traverse( set, SnapshotData.Value, v ) { v.UI_CompareLabel( relset, select( compareLabels, Elements, s, s.Value() = v.UI_LabelValue() ) ); v.UI_Kpi( relset, select( KpiTracker, MetaData, k, k.Name() = v.Name() ) ); } dhSnapshotData.Data( &set ); *] UseInheritedAccessibility: false }