Vai al contenuto principale

SubField - funzione dello script e del grafico

Subfield() consente di estrarre i componenti della sottostringa da un campo della stringa padre, in cui i campi del record originali sono costituiti da due o più parti separate da un delimitatore.

La funzione Subfield(), ad esempio, consente di estrarre il nome di battesimo e il cognome da un elenco di record composto da nomi completi, le parti del componente di un nome del percorso o di estrarre dati da tabelle separate da virgole.

Se si utilizza la funzione Subfield() in un'istruzione LOAD escludendo il parametro field_no opzionale, per ogni sottostringa verrà generato un record completo. Se diversi campi vengono caricati utilizzando Subfield(), vengono creati i prodotti cartesiani di tutte le combinazioni.

Sintassi:  

SubField(text, delimiter[, field_no ])

Tipo di dati restituiti: stringa

Argomenti:  

Argomenti SubField
Argomento Descrizione
text La stringa originale. Può trattarsi di un testo codificato in forma rigida, una variabile, un'espansione del segno del dollaro o un'altra espressione.
delimiter Un carattere all'interno del text di input che divide la stringa in parti del componente.
field_no

Il terzo argomento opzionale è un numero intero che specifica la sottostringa della stringa principale text che verrà restituita.

  • Se field_no è un valore positivo, le sottostringhe vengono estratte da sinistra a destra.
  • Se field_no è un valore negativo, le sottostringhe vengono estratte da destra a sinistra.
Nota di suggerimento È possibile utilizzare SubField() invece di utilizzare combinazioni di funzioni complesse, come ad esempio Len(), Right(), Left(), Mid() e altre funzioni delle stringhe.

Esempi e risultati:  

Esempi 1-3
Esempio Risultato
SubField('abc;cde;efg', ';', 2) Restituisce 'cde'
SubField('', ';', 1) Restituisce NULL
SubField(';', ';', 1) Restituisce una stringa vuota

Aggiungere lo script di esempio al documento ed eseguirlo. Aggiungere quindi a un foglio del documento almeno i campi elencati nella colonna dei risultati per visualizzare il risultato.

FullName:

LOAD * inline [

Name

'Dave Owen'

'Joe Tem'

];

 

SepNames:

Load Name,

SubField(Name, ' ',1) as FirstName,

SubField(Name, ' ',-1) as Surname

Resident FullName;

Drop Table FullName;

Esempio 4
Name FirstName Surname
Dave Owen Dave Owen
Joe Tem Joe Tem

Ipotizziamo che si disponga di una variabile con un nome percorso vMyPath,

Set vMyPath=\Users\ext_jrb\Documents\Qlik\Sense\Apps;.

In un grafico testo e immagine è possibile aggiungere una misura come:
SubField(vMyPath, '\',-3), che restituisce 'Qlik', poiché si tratta della terza sottostringa a partire dall'estremità destra della variabile vMyPath.

Questo esempio mostra come vengono create più righe da una singola istanza di Subfield().

Aggiungere lo script di esempio al documento ed eseguirlo. Aggiungere quindi a un foglio del documento almeno i campi elencati nella colonna dei risultati per visualizzare il risultato.

LOAD DISTINCT

Player,

SubField(Project,',') as Project;

 

Load * inline [

Player|Project

Neil|Music,OST

Jo|Music

Mike|Music,OST,Video

] (delimiter is '|');

Esempio 5
Player Project
Neil Music
Neil OST
Jo Music
Mike Music
Mike OST
Mike Video

Questo esempio mostra come l'utilizzo di più istanze della funzione Subfield(), ciascuna con il parametro field_no tralasciato, dall'interno della stessa istruzione LOAD crei prodotti cartesiani di tutte le combinazioni. L'opzione DISTINCT viene utilizzata per evitare la creazione di record duplicati.

Aggiungere lo script di esempio al documento ed eseguirlo. Aggiungere quindi a un foglio del documento almeno i campi elencati nella colonna dei risultati per visualizzare il risultato.

LOAD DISTINCT

Instrument,

SubField(Player,',') as Player,

SubField(Project,',') as Project;

 

Load * inline [

Instrument|Player|Project

Guitar|Neil,Mike|Music,Video

Guitar|Neil|Music,OST

Synth|Neil,Jen|Music,Video,OST

Synth|Jo|Music

Guitar|Neil,Mike|Music,OST

] (delimiter is '|');

Esempio 6
Instrument Player Project
Guitar Mike Music
Guitar Mike Video
Guitar Mike OST
Guitar Neil Music
Guitar Neil Video
Guitar Neil OST
Synth Jen Music
Synth Jen Video
Synth Jen OST
Synth Jo Music
Synth Neil Music
Synth Neil Video
Synth Neil OST

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 – facci sapere come possiamo migliorare!

Partecipa al programma Analytics Modernization

Remove banner from view

Modernizza senza compromettere le tue preziose app QlikView con il programma Analytics Modernization. Fare clic qui per maggiori informazioni o per contattarci: ampquestions@qlik.com