Quintiq file version 2.0
|
#parent: #root
|
Method FilterDataOnSelectedLabels (
|
shadow[KpiSnapshotSetData] queryResult,
|
structured[KpiLabelValue] labelFilters,
|
Boolean isLabelFilteringEnabled
|
) as String id:Method_GlobalStateKpiTracker_FilterDataOnSelectedLabels
|
{
|
#keys: '[146874.0.1589192311]'
|
Body:
|
[*
|
// Copies the source data from DataHolderSnapshotSetData to DataHolderLabelFilterdSnapshots
|
// while filtering based on the selected Labels.
|
filter := "";
|
|
if ( not isnull( queryResult ) )
|
{
|
if ( isLabelFilteringEnabled )
|
{
|
filters := construct( Strings );
|
|
traverse( labelFilters, Elements.Label, label )
|
{
|
values := construct( Strings );
|
traverse( label, Value, value,
|
exists( labelFilters, Elements, selected, selected = value ) )
|
{
|
values.Add( 'exists( object, Label, l, l.Name() = "'
|
+ label.Name()
|
+ '" and l.Value() = "'
|
+ value.Value()
|
+ '") ' );
|
}
|
filters.Add( '(' + values.ToString( ' or ' ) + ')' );
|
}
|
filter := filters.ToString( ' and ' );
|
debuginfo( ' >>> Generated Label filter = ', filter );
|
}
|
}
|
|
return filter;
|
*]
|
}
|