Complemento schema_merge
Combina definiciones de esquema tabular en un esquema unificado.
Se espera que las definiciones de esquema estén en el formato generado por el getschema
operador .
La schema merge
operación combina columnas en esquemas de entrada e intenta reducir los tipos de datos a los comunes. Si no se pueden reducir los tipos de datos, se muestra un error en la columna problemática.
El complemento se invoca con el evaluate
operador .
Syntax
T
|
evaluate
schema_merge(
PreserveOrder)
Obtenga más información sobre las convenciones de sintaxis.
Parámetros
Nombre | Tipo | Requerido | Descripción |
---|---|---|---|
PreserveOrder | bool |
Cuando se establece true en , dirige el complemento para validar el orden de las columnas según lo definido por el primer esquema tabular que se mantiene. Si la misma columna está en varios esquemas, el ordinal de columna debe ser similar al ordinal de columna del primer esquema en el que apareció. El valor predeterminado es true . |
Devoluciones
El schema_merge
complemento devuelve una salida similar a la que devuelve el getschema
operador .
Ejemplos
Combine con un esquema que tenga una nueva columna anexada.
let schema1 = datatable(Uri:string, HttpStatus:int)[] | getschema;
let schema2 = datatable(Uri:string, HttpStatus:int, Referrer:string)[] | getschema;
union schema1, schema2 | evaluate schema_merge()
Salida
ColumnName | ColumnOrdinal | DataType | ColumnType |
---|---|---|---|
Identificador URI | 0 | System.String | string |
HttpStatus | 1 | System.Int32 | int |
Referrer | 2 | System.String | string |
Combine con un esquema que tenga una ordenación de columnas diferente (HttpStatus
cambios ordinales de 1
a 2
en la nueva 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()
Salida
ColumnName | ColumnOrdinal | DataType | ColumnType |
---|---|---|---|
Identificador URI | 0 | System.String | string |
Referrer | 1 | System.String | string |
HttpStatus | -1 | ERROR(unknown CSL type:ERROR(columns are out of order)) | ERROR(las columnas no están ordenadas) |
Combine con un esquema que tenga una ordenación de columnas diferente, pero con PreserveOrder
establecido en 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)
Salida
ColumnName | ColumnOrdinal | DataType | ColumnType |
---|---|---|---|
Identificador URI | 0 | System.String | string |
Referrer | 1 | System.String | string |
HttpStatus | 2 | System.Int32 | int |
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente las Cuestiones de GitHub como mecanismo de retroalimentación para el contenido y lo sustituiremos por un nuevo sistema de retroalimentación. Para más información, consulta:Enviar y ver comentarios de