Plug-in schema_merge
Unisce le definizioni dello schema tabulare in uno schema unificato.
Si prevede che le definizioni dello schema siano nel formato prodotto dall'operatore getschema
.
L'operazione schema merge
unisce colonne negli schemi di input e tenta di ridurre i tipi di dati a quelli comuni. Se non è possibile ridurre i tipi di dati, viene visualizzato un errore nella colonna problematica.
Il plug-in viene richiamato con l'operatore evaluate
.
Sintassi
T
|
evaluate
schema_merge(
PreserveOrder)
Altre informazioni sulle convenzioni di sintassi.
Parametri
Nome | Tipo | Obbligatoria | Descrizione |
---|---|---|---|
PreserveOrder | bool |
Se impostato su true , indirizza il plug-in per convalidare l'ordine delle colonne come definito dal primo schema tabulare mantenuto. Se la stessa colonna è in più schemi, l'ordinale della colonna deve essere simile al numero ordinale di colonna del primo schema in cui è presente. Il valore predefinito è true . |
Restituisce
Il schema_merge
plug-in restituisce un output simile a quello getschema
restituito dall'operatore.
Esempio
Unisci con uno schema con una nuova colonna aggiunta.
let schema1 = datatable(Uri:string, HttpStatus:int)[] | getschema;
let schema2 = datatable(Uri:string, HttpStatus:int, Referrer:string)[] | getschema;
union schema1, schema2 | evaluate schema_merge()
Output
ColumnName | ColumnOrdinal | DataType | ColumnType |
---|---|---|---|
Uri | 0 | System.String | string |
HttpStatus | 1 | System.Int32 | INT |
Referrer | 2 | System.String | string |
Unisci con uno schema con ordinamento di colonne diverso (HttpStatus
modifiche ordinali da 1
a 2
nella nuova variante).
let schema1 = datatable(Uri:string, HttpStatus:int)[] | getschema;
let schema2 = datatable(Uri:string, Referrer:string, HttpStatus:int)[] | getschema;
union schema1, schema2 | evaluate schema_merge()
Output
ColumnName | ColumnOrdinal | DataType | ColumnType |
---|---|---|---|
Uri | 0 | System.String | string |
Referrer | 1 | System.String | string |
HttpStatus | -1 | ERROR(unknown CSL type:ERROR(columns are out of order)) | ERROR(le colonne non sono in ordine) |
Unisci con uno schema con ordinamento di colonne diverso, ma con PreserveOrder
impostato su false
.
let schema1 = datatable(Uri:string, HttpStatus:int)[] | getschema;
let schema2 = datatable(Uri:string, Referrer:string, HttpStatus:int)[] | getschema;
union schema1, schema2 | evaluate schema_merge(PreserveOrder = false)
Output
ColumnName | ColumnOrdinal | DataType | ColumnType |
---|---|---|---|
Uri | 0 | System.String | string |
Referrer | 1 | System.String | string |
HttpStatus | 2 | System.Int32 | INT |
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per