Criteri dei parametri di testo
Quando una query dipende da molti parametri, verrà bloccata fino a quando non viene risolto ogni parametro. A volte un parametro può includere una query semplice che concatena una stringa o esegue una valutazione condizionale. Queste query effettuano comunque chiamate di rete ai servizi che eseguono queste operazioni di base e tale processo aumenta il tempo impiegato dal parametro per risolvere un valore. Di conseguenza il caricamento di cartelle di lavoro complesse può richiedere molto tempo.
Quando si usano parametri di criteri, è possibile definire un set di criteri in base ai parametri specificati in precedenza che verranno valutati per fornire un valore dinamico. Il vantaggio principale dell'uso di parametri di criteri è che tali parametri possono risolvere i valori dei parametri specificati in precedenza ed eseguire semplici operazioni condizionali senza effettuare chiamate di rete. L'esempio seguente rappresenta un caso d'uso di parametri di criteri.
Esempio
Si consideri la query condizionale seguente:
let metric = dynamic({Counter});
print tostring((metric.object == 'Network Adapter' and (metric.counter == 'Bytes Received/sec' or metric.counter == 'Bytes Sent/sec')) or (metric.object == 'Network' and (metric.counter == 'Total Bytes Received' or metric.counter == 'Total Bytes Transmitted')))
Se si è concentrati sull'oggetto metric.counter
, il valore del parametro isNetworkCounter
deve essere true se il parametro Counter
include Bytes Received/sec
, Bytes Sent/sec
, Total Bytes Received
o Total Bytes Transmitted
.
Questa operazione può essere tradotta in un parametro di criteri di testo:
Nello screenshot precedente le condizioni verranno valutate dall'alto verso il basso e il valore del parametro isNetworkCounter
assumerà il valore della condizione che restituisce true per prima. Tutte le condizioni ad eccezione di quella predefinita (la condizione "else") possono essere riordinate per ottenere il risultato desiderato.
Configurare i criteri
Iniziare con una cartella di lavoro con almeno un parametro esistente in modalità di modifica.
- Selezionare Aggiungi parametri>Aggiungi parametro.
- Nel riquadro del nuovo parametro che viene aperto, immettere:
- Nome parametro:
rand
- Tipo di parametro:
Text
- Obbligatorio:
checked
- Ottieni i dati da:
Query
- Nell'editor di query, immettere
print rand(0-1)
. Questo parametro restituirà un valore compreso tra 0 e 1.
- Nome parametro:
- Selezionare Salva per creare il parametro.
Nota
Il primo parametro nella cartella di lavoro non mostrerà la scheda Criteri.
Nella tabella con il parametro
rand
selezionare Aggiungi parametro.Nel riquadro del nuovo parametro che viene aperto, immettere:
- Nome parametro:
randCriteria
- Tipo di parametro:
Text
- Obbligatorio:
checked
- Ottieni i dati da:
Criteria
- Nome parametro:
Viene visualizzata una griglia. Selezionare Modifica accanto alla casella di testo vuota per aprire il modulo Impostazioni criteri. Per una descrizione di ogni campo, vedere Modulo Impostazioni criteri.
Immettere i dati seguenti per popolare i primi criteri e quindi selezionare OK:
- Primo operando:
rand
- Operatore:
>
- Valore da:
Static Value
- Secondo operando:
0.25
- Valore da:
Static Value
- Il risultato è:
is over 0.25
- Primo operando:
Selezionare Modifica accanto alla condizione
Click edit to specify a result for the default condition
per modificare la condizione predefinita.Nota
Per la condizione predefinita, è necessario disabilitare tutti gli elementi ad eccezione degli ultimi campi,
Value from
eResult is
.Immettere i dati seguenti per popolare la condizione predefinita e quindi selezionare OK:
- Valore da: Valore statico
- Il risultato è: è 0,25 o inferiore
Salvare il parametro.
Aggiornare la cartella di lavoro per visualizzare il parametro
randCriteria
in azione. Il valore sarà basato sul valore dirand
.
Modulo Impostazioni criteri
Campi del modulo | Descrizione |
---|---|
First operand | Questo elenco a discesa è costituito da nomi di parametri già creati. Il valore del parametro verrà usato sul lato sinistro del confronto. |
Operatore | Operatore utilizzato per confrontare i primi e i secondi operandi. Può essere una valutazione numerica o stringa. L'operatore is empty disabiliterà Second operand perché è necessario solo First operand . |
Valore da | Se è impostato su Parameter , viene visualizzato un elenco a discesa costituito dai parametri già creati. Il valore di tale parametro verrà usato sul lato destro del confronto.Se è impostato su Static Value , viene visualizzata una casella di testo in cui è possibile immettere un valore per il lato destro del confronto. |
Second operand | Sarà un menu a discesa costituito da parametri creati o da una casella di testo a seconda della selezione Value from precedente. |
Valore da | Se è impostato su Parameter , viene visualizzato un elenco a discesa costituito dai parametri già creati. Il valore di tale parametro verrà usato per il valore restituito del parametro corrente.Se è impostato su Static Value :- Viene visualizzata una casella di testo in cui è possibile immettere un valore per il risultato. - È anche possibile dereferenziare altri parametri usando parentesi graffe intorno al nome del parametro. - È possibile concatenare più parametri e creare una stringa personalizzata, ad esempio " {paramA} , {paramB} e alcune stringhe". Se è impostato su Expression :- Viene visualizzata una casella di testo in cui è possibile immettere un'espressione matematica che verrà valutata come risultato. - Come nel caso Static Value , è possibile che vengano deferenziati più parametri in questa casella di testo.- Se il valore del parametro a cui si fa riferimento nella casella di testo non è un numero, verrà considerato equivalente al valore 0 . |
Il risultato è | Sarà un menu a discesa costituito dai parametri creati o da una casella di testo a seconda della selezione Value from precedente. La casella di testo verrà valutata come risultato finale del modulo Impostazioni criteri. |