Quintiq file version 2.0
|
#parent: #root
|
Method FilterDataOnSelectedLabels (
|
Boolean isLabelFilteringEnabled,
|
structured[KpiLabelValue] selectedLabels
|
) as String id:Method_Kpi_GlobalState_FilterDataOnSelectedLabels
|
{
|
#keys: '[146874.0.1589145116]'
|
Body:
|
[*
|
// Sets/unsets the filter on the snapshots based on the selection in the label filter.
|
filter := "";
|
|
if( isLabelFilteringEnabled )
|
{
|
filters := construct( structured[String] );
|
|
traverse( selectedLabels, Elements.Label, label )
|
{
|
values := construct( structured[String] );
|
traverse( label, Value, value,
|
exists( selectedLabels, 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;
|
*]
|
}
|