Quintiq file version 2.0
|
#parent: #root
|
Method ApplyConfigurationQuery (
|
KpiQuery kpiQuery
|
) id:Method_Kpi_frmKpiQueryCompare_ApplyConfigurationQuery
|
{
|
#keys: '[146874.0.1482143428]'
|
Body:
|
[*
|
// Applies the configuration query from a KpiQuery to radio button groups, List, and selector.
|
label := select( KpiTracker, Label, l, l.Name() = kpiQuery.SeriesSelection() );
|
dhCompareLabel.Data( guard( label, null( KpiLabel ) ) );
|
dhTimetype.Data( kpiQuery.Timetype() );
|
|
// Flush dataholder.
|
dhFilterLabels.Data().Flush();
|
dhCompareLabels.Data().Flush();
|
|
traverse( kpiQuery.LabelFilters().Tokenize( "," ), Elements, lv )
|
{
|
labelValue := select( KpiTracker, Label.Value, labelvalue, labelvalue.Value() = lv );
|
if ( not isnull( labelValue ) )
|
{
|
if( labelValue.Label() = dhCompareLabel.Data() )
|
{
|
dhCompareLabels.Data().Add( labelValue);
|
}
|
else
|
{
|
dhFilterLabels.Data().Add( labelValue );
|
}
|
}
|
}
|
|
// Flush dataholder before insert Kpi selection
|
dhMetaDatas.Data().Flush();
|
|
traverse( kpiQuery.MetaDatas().Tokenize( "," ), Elements, md )
|
{
|
metaData := select( KpiTracker, MetaData, metadata, metadata.DisplayName() = md );
|
if ( not isnull( metaData ) )
|
{
|
dhMetaDatas.Data().Add( metaData );
|
}
|
}
|
|
|
// Refresh data - Queries the KPI Tracker for the KPI compare data
|
// Do this because the DataHolder has independency on drop down selector and is not reflect the changes immediately.
|
compareLabel := dhCompareLabel.Data();
|
compareLabels := selectset( dhCompareLabels.Data(), Elements, val,
|
val.Label() = compareLabel );
|
|
fixedLabels := selectset( dhFilterLabels.Data(), Elements, val,
|
val.Label() <> compareLabel );
|
|
|
set := Kpi_GlobalState.QueryDataFromServer( compareLabels, fixedLabels );
|
|
Kpi_GlobalState.PropagateLabel( set, guard( compareLabel.Name(), "" ) );
|
Kpi_GlobalState.PropagateTimeStamp( set, dhTimetype.Data() );
|
|
// 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 );
|
*]
|
}
|