Plug-in schema_merge
Si applica a: ✅Microsoft Fabric✅Azure Esplora dati
Unisce le definizioni dello schema tabulare in uno schema unificato.
È previsto 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 | Digita | Obbligatorio | Descrizione |
---|---|---|---|
PreserveOrder | bool |
Se impostato su true , indirizza il plug-in per convalidare l'ordine di colonna come definito dal primo schema tabulare mantenuto. Se la stessa colonna si trova in diversi schemi, l'ordinale della colonna deve essere simile all'ordinale di colonna del primo schema in cui è apparso. Il valore predefinito è true . |
Valori restituiti
Il schema_merge
plug-in restituisce un output simile a quello getschema
restituito dall'operatore.
Esempi
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(colonne non 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 |