Constrain | Guida di Qlik Sense su Windows
Vai al contenuto principale Passa a contenuto complementare

Constrain

L'istruzione Constrain può essere utilizzata in combinazione con le istruzioni Let o Set per definire le variabili dello script. L'istruzione Constrain permette di definire vincoli per i valori possibili per le variabili. Se la definizione di una variabile viola i vincoli, il ricaricamento fallisce. Con i vincoli, è possibile richiedere che i valori delle variabili corrispondano a tipi specifici, rientrino in intervalli numerici specifici e corrispondano a valori accettabili definiti dall'utente.

Constrain variablename = json

Dove:

  • variablename è una variabile dello script.

  • json è un oggetto JSON valido che specifica i vincoli. I vincoli individuali vengono aggiunti all'interno di questo oggetto come coppie chiave-valore.

Tipi di vincoli
Tipo di vincolo (chiave) Significato Requisiti del vincolo (valore) Esempi
"type" Vincola i valori delle variabili a un tipo di dati specifico.

"text" specifica un tipo di testo.

"number" specifica un tipo numerico.

CONSTRAIN vExampleText = {"type": "text"}
CONSTRAIN vExampleNumeric = {"type": "number"}
"maxnum" Imposta un valore massimo per una variabile. Solo numeri (interi o a virgola mobile). È consentita la notazione scientifica.
CONSTRAIN vExample = {"maxnum": 5000}
"minnum" Imposta un valore massimo per una variabile. Solo numeri (interi o a virgola mobile). È consentita la notazione scientifica.
CONSTRAIN vExample = {"minnum": 250}
"valuesnum" Definisce un elenco di valori numerici accettabili per la variabile. Elenco di numeri separati da virgola racchiusi tra parentesi quadre. Ad esempio: [1,2,3]
CONSTRAIN vExample = {"valuesnum": [1,2,3]}
"valuestext" Definisce un elenco di valori testuali accettabili per la variabile. Elenco di stringhe separate da virgola racchiuse tra parentesi quadre. Ad esempio: ["a","b","c"]
CONSTRAIN vExample = {"valuestext": ["Department A", "Department B", "Department C"]}

Quando usare un'istruzione Constrain

Utilizzare l'istruzione Constrain per evitare che i valori indesiderati per le variabili vengano caricati nelle applicazioni analitiche.

Considerazioni

  • La definizione di Constrain per la variabile deve essere un oggetto JSON valido.

  • È possibile specificare più di un vincolo per una singola variabile. Tutti i vincoli di una variabile devono essere contenuti in un singolo oggetto di vincolo. Per esempio, vedere Esempi: vincoli multipli.

  • Se nell'applicazione è già stata caricata una variabile dello script con un determinato nome, i tentativi successivi di definire vincoli e valori per quella variabile possono fallire a causa di conflitti tra le variabili originali e quelle ridefinite.

    Per risolvere questi conflitti, ripristinare i vincoli e i valori delle variabili inserendo delle definizioni vuote. Esempi:

    CONSTRAIN x;
    LET x;
    
    CONSTRAIN x;
    SET x;

    È possibile quindi ridefinire la variabile e i relativi vincoli nelle sezioni successive dello script di caricamento. Per un esempio esteso, consultare Esempio: risoluzione dei conflitti nelle definizioni delle variabili.

  • L'ordine della definizione della variabile e della definizione del vincolo non è importante. Tuttavia, nel caso in cui si verifichi un errore di ricaricamento correlato alla variabile, la riga in cui si verifica il punto di arresto sarà un'altra.

  • L'istruzione dello script Constrain limita le definizioni delle variabili solo per le variabili dello script. È possibile anche applicare vincoli alle variabili dello script e a quelle dell'utente finale (quelle create o aggiornate nella vista foglio o come variabili di sessione utilizzando l'API) utilizzando l'API pubblica. Per ulteriori informazioni, vedere Alternative di sviluppo per la definizione di vincoli delle variabili.

  • I vincoli vengono convalidati per evitare scenari che non possono corrispondere ad alcun valore per la variabile. Esempi di vincoli non validi:

    • {"minnum": 5000, "maxnum": 4}
    • {"type": "text", "maxnum": 4}

Alternative di sviluppo per la definizione di vincoli delle variabili

È possibile anche utilizzare l'API pubblica per definire i vincoli delle variabili, anziché utilizzare l'istruzione Constrain nello script di caricamento. Quando si definiscono i vincoli tramite API, tutti i tentativi di aggiornare i valori delle variabili — sia direttamente nello script di caricamento o nella vista foglio — saranno soggetti ai vincoli.

Per definire i vincoli delle variabili tramite l'API pubblica, utilizzare la GenericVariableConstraints proprietà nell'API QlikEngine JSON: GenericVariableProperties (solo in lingua inglese).

Esempio - type

Esempio - maxnum

Esempio - minnum

Esempio - valuesnum

Esempio - valuestext

Esempi: SET o LET

Questi esempi mostrano le differenze tra le modalità di applicazione dei vincoli quando si utilizza SET o LET durante la definizione delle variabili. Tutti gli esempi utilizzano vincoli che applicano un requisito type, ma questi principi si applicano a tutti i tipi di vincoli in generale.

Esempi: vincoli multipli

Esempio: risoluzione dei conflitti nelle definizioni delle variabili

Hai trovato utile questa pagina?

Se riscontri problemi con questa pagina o con il suo contenuto – un errore di battitura, un passaggio mancante o un errore tecnico – ti pregiamo di farcelo sapere!