schema_merge-plugin-program
Sammanfogar tabellschemadefinitioner till ett enhetligt schema.
Schemadefinitioner förväntas vara i det format som genereras av operatorn getschema
.
Åtgärden schema merge
kopplar kolumner i indatascheman och försöker minska datatyperna till vanliga. Om datatyper inte kan minskas visas ett fel i den problematiska kolumnen.
Plugin-programmet anropas med operatorn evaluate
.
Syntax
T
|
evaluate
schema_merge(
PreserveOrder)
Läs mer om syntaxkonventioner.
Parametrar
Namn | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
PreserveOrder | bool |
När det är inställt på true dirigeras plugin-programmet för att verifiera kolumnordningen enligt definitionen i det första tabellschemat som behålls. Om samma kolumn finns i flera scheman måste kolumnordningen vara som kolumnordningen för det första schemat som den visades i. Standardvärdet är true . |
Returer
Plugin-programmet schema_merge
returnerar utdata som liknar vad getschema
operatorn returnerar.
Exempel
Sammanfoga med ett schema som har en ny kolumn tillagd.
let schema1 = datatable(Uri:string, HttpStatus:int)[] | getschema;
let schema2 = datatable(Uri:string, HttpStatus:int, Referrer:string)[] | getschema;
union schema1, schema2 | evaluate schema_merge()
Resultat
ColumnName | ColumnOrdinal | DataType | ColumnType |
---|---|---|---|
Uri | 0 | System.String | sträng |
HttpStatus | 1 | System.Int32 | int |
Hänvisningsadress | 2 | System.String | sträng |
Sammanfoga med ett schema som har olika kolumnordning (HttpStatus
ordningstalsändringar från 1
till 2
i den nya varianten).
let schema1 = datatable(Uri:string, HttpStatus:int)[] | getschema;
let schema2 = datatable(Uri:string, Referrer:string, HttpStatus:int)[] | getschema;
union schema1, schema2 | evaluate schema_merge()
Resultat
ColumnName | ColumnOrdinal | DataType | ColumnType |
---|---|---|---|
Uri | 0 | System.String | sträng |
Hänvisningsadress | 1 | System.String | sträng |
HttpStatus | -1 | ERROR(unknown CSL type:ERROR(columns are out of order)) | ERROR(kolumnerna är i fel ordning) |
Sammanfoga med ett schema som har en annan kolumnordning, men med PreserveOrder
inställt på 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)
Resultat
ColumnName | ColumnOrdinal | DataType | ColumnType |
---|---|---|---|
Uri | 0 | System.String | sträng |
Hänvisningsadress | 1 | System.String | sträng |
HttpStatus | 2 | System.Int32 | int |
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för