| Quintiq file version 2.0 | 
| #parent: #root | 
| Method SetConfigurationQuery ( | 
|   JSON jsonQuery | 
| ) id:Method_DialogKpiQuery_SetConfigurationQuery | 
| { | 
|   #keys: '[146450.3.331169624]' | 
|   Body: | 
|   [* | 
|     // Populate the KpiQuery with the JSON data with query type: Compare KPIs and Track KPIs | 
|     kpiQuery := DataHolderKpiQuery.Data(); | 
|      | 
|     datetimeConverter := StringToDateTime::StandardConverter(); | 
|     queryType := jsonQuery.Get( "QueryType" ).GetString(); | 
|     kpiQuery.QueryType( queryType ); | 
|      | 
|     // Track KPIs | 
|     if( queryType = KpiQuery::QUERY_TRACK() ) | 
|     { | 
|       // Query parameter | 
|       kpiQuery.Timespan( jsonQuery.Get( "Timespan" ).GetString() ); | 
|       kpiQuery.DateTimeFrom( datetimeConverter.Convert( jsonQuery.Get( "DateTimeFrom" ).GetString() ) ); | 
|       kpiQuery.DateTimeTo( datetimeConverter.Convert( jsonQuery.Get( "DateTimeTo" ).GetString() ) ); | 
|       kpiQuery.SnapshotLimit( jsonQuery.Get( "LimitSnapshot" ).GetNumber() ); | 
|        | 
|       // Other | 
|       kpiQuery.IsAllSnapshotSelected( jsonQuery.Get( "IsAllSnapsnotEnabled" ).GetBoolean() ); | 
|        | 
|       // Label filtering | 
|       kpiQuery.IsLabelFilteringEnabled( jsonQuery.Get( "IsLabelFilteringEnabled" ).GetBoolean() ); | 
|       kpiQuery.LabelFilters( jsonQuery.Get( "LabelFilters" ).GetString() ); | 
|        | 
|       // Kpi selection | 
|       kpiQuery.MetaDatas( jsonQuery.Get( "MetaDatas" ).GetString() ); | 
|        | 
|       // Series selection | 
|       kpiQuery.SeriesSelection( jsonQuery.Get( "Series" ).GetString() ); | 
|       kpiQuery.IsOnlyLastSnapshotEnabled( jsonQuery.Get( "IsLastSnapshotEnabled" ).GetBoolean() ); | 
|       kpiQuery.Timetype( jsonQuery.Get( "Timetype" ).GetString() ); | 
|     } | 
|     else if( queryType = KpiQuery::QUERY_COMPARE() ) // Compare KPIs | 
|     { | 
|       kpiQuery.SeriesSelection( jsonQuery.Get( "Series" ).GetString() ); | 
|       kpiQuery.Timetype( jsonQuery.Get( "Timetype" ).GetString() ); | 
|       kpiQuery.LabelFilters( jsonQuery.Get( "LabelFilters" ).GetString() ); | 
|       kpiQuery.MetaDatas( jsonQuery.Get( "MetaDatas" ).GetString() ); | 
|     } | 
|   *] | 
| } |