Plug-in schema_merge
Mescla definições de esquema tabular em um esquema unificado.
Espera-se que as definições de esquema estejam no formato produzido pelo getschema
operador.
A schema merge
operação une colunas em esquemas de entrada e tenta reduzir os tipos de dados a comuns. Se os tipos de dados não puderem ser reduzidos, um erro será exibido na coluna problemática.
O plugin é invocado com o evaluate
operador.
Sintaxe
T
|
evaluate
schema_merge(
PreserveOrdem)
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Digitar | Obrigatória | Descrição |
---|---|---|---|
PreserveOrdem | bool |
Quando definido como true , direciona o plug-in para validar a ordem das colunas, conforme definido pelo primeiro esquema tabular mantido. Se a mesma coluna estiver em vários esquemas, o ordinal da coluna deverá ser como o ordinal da coluna do primeiro esquema em que apareceu. O valor padrão é true . |
Devoluções
O schema_merge
plugin retorna uma saída semelhante à que getschema
o operador retorna.
Exemplos
Mesclar com um esquema que tenha uma nova coluna 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()
Saída
ColumnName | ColumnOrdinal | DataType | ColumnType |
---|---|---|---|
Uri | 0 | System.String | string |
HttpStatus | 1 | System.Int32 | int |
Referenciador | 2 | System.String | string |
Mesclar com um esquema que tenha uma ordem de coluna diferente (HttpStatus
alterações ordinais de 1
para 2
na nova 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()
Saída
ColumnName | ColumnOrdinal | DataType | ColumnType |
---|---|---|---|
Uri | 0 | System.String | string |
Referenciador | 1 | System.String | string |
HttpStatus | -1 | ERROR(unknown CSL type:ERROR(colunas estão fora de ordem)) | ERROR(colunas estão fora de ordem) |
Mesclar com um esquema que tenha uma ordem de coluna diferente, mas com PreserveOrder
definido como 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)
Saída
ColumnName | ColumnOrdinal | DataType | ColumnType |
---|---|---|---|
Uri | 0 | System.String | string |
Referenciador | 1 | System.String | string |
HttpStatus | 2 | System.Int32 | int |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de