schema_merge 外掛程式
適用於: ✅Microsoft網狀架構✅Azure 數據總管
將表格式架構定義合併成統一的架構。
架構定義必須是運算子所產生的 getschema
格式。
作業 schema merge
會聯結輸入架構中的數據行,並嘗試將數據類型縮減為一般數據類型。 如果無法減少數據類型,就會在有問題的數據行上顯示錯誤。
外掛程式是使用運算子叫 evaluate
用的。
語法
T
|
evaluate
schema_merge(
PreserveOrder)
深入瞭解 語法慣例。
參數
姓名 | 類型 | 必要 | 描述 |
---|---|---|---|
PreserveOrder | bool |
當設定為 true 時,會指示外掛程式驗證由保留的第一個表格式架構所定義的數據行順序。 如果相同的數據行位於數個架構中,則數據行序數必須與出現在其中之第一個架構的數據行序數類似。 預設值為 true 。 |
傳回
外掛程式 schema_merge
會傳回類似運算符傳回的 getschema
輸出。
範例
與附加新數據行的架構合併。
let schema1 = datatable(Uri:string, HttpStatus:int)[] | getschema;
let schema2 = datatable(Uri:string, HttpStatus:int, Referrer:string)[] | getschema;
union schema1, schema2 | evaluate schema_merge()
輸出
ColumnName | ColumnOrdinal | DataType | ColumnType |
---|---|---|---|
URI | 0 | System.String | 字串 |
HttpStatus | 1 | System.Int32 | int |
Referrer | 2 | System.String | 字串 |
與具有不同數據行排序的架構合併(HttpStatus
新變體中的序數變更1
2
)。
let schema1 = datatable(Uri:string, HttpStatus:int)[] | getschema;
let schema2 = datatable(Uri:string, Referrer:string, HttpStatus:int)[] | getschema;
union schema1, schema2 | evaluate schema_merge()
輸出
ColumnName | ColumnOrdinal | DataType | ColumnType |
---|---|---|---|
URI | 0 | System.String | 字串 |
Referrer | 1 | System.String | 字串 |
HttpStatus | -1 | ERROR(未知的 CSL 類型:ERROR(資料行順序錯亂)) | ERROR(資料行順序錯亂) |
與具有不同資料行排序的架構合併,但設定 PreserveOrder
為 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)
輸出
ColumnName | ColumnOrdinal | DataType | ColumnType |
---|---|---|---|
URI | 0 | System.String | 字串 |
Referrer | 1 | System.String | 字串 |
HttpStatus | 2 | System.Int32 | int |