Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Sürüm açılan listesini kullanarak hizmetler arasında geçiş yapın. Gezinti hakkında daha fazla bilgi edinin.
Şunlar için geçerlidir: ✅ Microsoft Fabric ✅ Azure Veri Gezgini ✅ Azure İzleyici ✅ Microsoft Sentinel
İki veya daha fazla tablo alır ve tümünün satırlarını döndürür.
Sözdizimi
[ T| ] union [ UnionParameters ] [kind=inner|outer ] [withsource=ColumnName] [isfuzzy=true|false ] Tables
[ T| ] union [kind=inner|outer ] [withsource=ColumnName] [isfuzzy=true|false ] Tablolar
Söz dizimi kuralları hakkında daha fazla bilgi edinin.
Not
bir set deyimiunionistek özelliği olarak best_effortayarlanarak true işlecin işlemi değiştirilebilir. Bu özellik olarak trueunion ayarlandığında, işleç "birleşimli" alt ifadelerden herhangi birini yürütmek için benzer çözümleme ve bağlantı hatalarını göz ardı eder ve sorgu durumu sonuçlarında bir uyarı verir.
Parametreler
| Ad | Tür | Zorunlu | Açıklama |
|---|---|---|---|
| T | string |
Giriş tablosal ifadesi. | |
| UnionParameters | string |
Satır eşleştirme işleminin ve yürütme planının davranışını denetleen Ad = Değeri biçiminde sıfır veya daha fazla boşlukla ayrılmış parametre. Desteklenen birleşim parametrelerine bakın. |
|
kind |
string |
inner veya outer.
inner , sonucun tüm giriş tablolarında ortak olan sütunların alt kümesine sahip olmasını neden olur.
outer , sonucun girişlerden herhangi birinde oluşan tüm sütunlara sahip olmasını sağlar. Giriş satırı tarafından tanımlanmayan hücreler olarak nullayarlanır. Varsayılan değer: outer.ile outersonuç, her ad ve tür oluşumları için bir sütun olan herhangi bir girişte oluşan tüm sütunları içerir. Başka bir deyişle, bir sütun birden çok tabloda görünüyorsa ve birden çok türe sahipse, birleşim sonucundaki her tür için karşılık gelen bir sütunu vardır. Bu sütun adı bir '_' ve ardından kaynak sütun türü ile son eklenmiştir. |
|
withsource=
Columnname |
string |
Belirtilirse, çıkışta değeri her satıra katkıda bulunan kaynak tabloyu gösteren ColumnName adlı bir sütun bulunur. Sorgu, varsayılan veritabanı da dahil olmak üzere birden fazla veritabanındaki tablolara etkili bir şekilde başvuruyorsa, bu sütunun değeri veritabanıyla nitelenmiş bir tablo adına sahiptir. birden fazla kümeye başvurulsa değerde küme ve veritabanı nitelikleri bulunur. | |
isfuzzy |
bool |
olarak ayarlanırsa true, birleşim bacaklarının belirsiz çözünürlüğüne izin verir. Birleşim kaynakları kümesi, sorgu analiz edilirken ve yürütülmeye hazırlanırken var olan ve o sırada erişilebilir olan tablo başvuruları kümesine indirgenir. Bu tür tablolardan en az biri bulunursa, herhangi bir çözüm hatası sorgu durumu sonuçlarında bir uyarı verir, ancak sorgunun yürütülmesini engellemez. Hiçbir çözüm başarılı olmadıysa sorgu bir hata döndürür. Varsayılan değer: false.isfuzzy=true yalnızca kaynak çözümleme aşaması için union geçerlidir. Kaynak tablo kümesi belirlendikten sonra olası ek sorgu hataları gizlenmeyecektir. |
|
| Tablolar | string |
Bir veya daha fazla virgülle ayrılmış tablo başvurusu, parantez içine alınmış bir sorgu ifadesi veya joker karakterle belirtilen bir tablo kümesi. Örneğin, E* veritabanında adları başlayan Etüm tabloların birleşimini oluşturur. |
Desteklenen birleşim parametreleri
| Ad | Tür | Zorunlu | Açıklama |
|---|---|---|---|
hint.concurrency |
int |
Sisteme, işlecin kaç eşzamanlı alt sorgunun union paralel olarak yürütülmesi gerektiğini gösterir. Varsayılan değer, kümenin tek düğümündeki CPU çekirdeklerinin sayısıdır (2 ile 16). |
|
hint.spread |
int |
Sisteme eşzamanlı union alt sorgu yürütmesi tarafından kaç düğüm kullanılması gerektiğini gösterir. Varsayılan değer 1'dir. |
| Ad | Tür | Zorunlu | Açıklama |
|---|---|---|---|
| T | string |
Giriş tablosal ifadesi. | |
kind |
string |
inner veya outer.
inner , sonucun tüm giriş tablolarında ortak olan sütunların alt kümesine sahip olmasını neden olur.
outer , sonucun girişlerden herhangi birinde oluşan tüm sütunlara sahip olmasını sağlar. Giriş satırı tarafından tanımlanmayan hücreler olarak nullayarlanır. Varsayılan değer: outer.ile outersonuç, her ad ve tür oluşumları için bir sütun olan herhangi bir girişte oluşan tüm sütunları içerir. Başka bir deyişle, bir sütun birden çok tabloda görünüyorsa ve birden çok türe sahipse, birleşim sonucundaki her tür için karşılık gelen bir sütunu vardır. Bu sütun adı bir '_' ve ardından kaynak sütun türü ile son eklenmiştir. |
|
withsource=
Columnname |
string |
Belirtilirse, çıkışta değeri her satıra katkıda bulunan kaynak tabloyu gösteren ColumnName adlı bir sütun bulunur. Sorgu, varsayılan veritabanı da dahil olmak üzere birden fazla veritabanındaki tablolara etkili bir şekilde başvuruyorsa, bu sütunun değeri veritabanıyla nitelenmiş bir tablo adına sahiptir. birden fazla kümeye başvurulsa değerde küme ve veritabanı nitelikleri bulunur. | |
isfuzzy |
bool |
olarak ayarlanırsa true, birleşim bacaklarının belirsiz çözünürlüğüne izin verir. Birleşim kaynakları kümesi, sorgu analiz edilirken ve yürütülmeye hazırlanırken var olan ve o sırada erişilebilir olan tablo başvuruları kümesine indirgenir. Bu tür tablolardan en az biri bulunursa, herhangi bir çözüm hatası sorgu durumu sonuçlarında bir uyarı verir, ancak sorgunun yürütülmesini engellemez. Hiçbir çözüm başarılı olmadıysa sorgu bir hata döndürür. Ancak çalışma alanları ve uygulamalar arası sorgularda çalışma alanlarından veya uygulamalardan herhangi biri bulunamazsa sorgu başarısız olur. Varsayılan değer: false.isfuzzy=true yalnızca kaynak çözümleme aşaması için union geçerlidir. Kaynak tablo kümesi belirlendikten sonra olası ek sorgu hataları gizlenmeyecektir. |
|
| Tablolar | string |
Bir veya daha fazla virgülle ayrılmış tablo başvurusu, parantez içine alınmış bir sorgu ifadesi veya joker karakterle belirtilen bir tablo kümesi. Örneğin, E* veritabanında adları başlayan Etüm tabloların birleşimini oluşturur.Tablo listesi her bilindiği zaman joker karakter kullanmaktan kaçının. Bazı çalışma alanları, verimsiz yürütmeye yol açabilecek çok sayıda tablo içerir. Tablolar da zaman içinde eklenerek öngörülemeyen sonuçlar elde edilebilir. |
Not
- Kapsam,
unionanahtar sözcüğüyle ilişkilendirildiyse let deyimleriniview. - Kapsam
unionişlevleri içermez. İşlev eklemek için anahtar sözcüğüyle bir let deyimiviewtanımlayın. - Birleşim bacaklarının hangi sırada görüneceğinin garantisi yoktur, ancak her bacağın bir
order byoperatörü varsa, her bacak sıralanır.
Döndürülenler
Tüm giriş tablolarında olduğu kadar çok satırı olan bir tablo.
Örnekler
Ad veya sütunda dize içeren tablolar
union K* | where * has "Kusto"
Veritabanındaki adı ile Kbaşlayan ve herhangi bir sütunun sözcüğünü Kustoiçerdiği tüm tablolardaki satırlar.
Ayrı sayı
union withsource=SourceTable kind=outer Query, Command
| where Timestamp > ago(1d)
| summarize dcount(UserId)
Geçen gün içinde bir Query olay veya Command olay oluşturan farklı kullanıcıların sayısı. Sonuç olarak , 'SourceTable' sütunu "Sorgu" veya "Komut" olarak gösterilir.
Query
| where Timestamp > ago(1d)
| union withsource=SourceTable kind=outer
(Command | where Timestamp > ago(1d))
| summarize dcount(UserId)
Bu daha verimli sürüm aynı sonucu verir. Birleşim oluşturulmadan önce her tabloyu filtreler.
isfuzzy=true kullanma
// Using union isfuzzy=true to access non-existing view:
let View_1 = view () { print x=1 };
let View_2 = view () { print x=1 };
let OtherView_1 = view () { print x=1 };
union isfuzzy=true
(View_1 | where x > 0),
(View_2 | where x > 0),
(View_3 | where x > 0)
| count
Çıktı
| Sayı |
|---|
| 2 |
Sorgu Durumunu Gözlemleme - aşağıdaki uyarı döndürüldü: Failed to resolve entity 'View_3'
// Using union isfuzzy=true and wildcard access:
let View_1 = view () { print x=1 };
let View_2 = view () { print x=1 };
let OtherView_1 = view () { print x=1 };
union isfuzzy=true View*, SomeView*, OtherView*
| count
Çıktı
| Sayı |
|---|
| 3 |
Sorgu Durumunu Gözlemleme - aşağıdaki uyarı döndürüldü: Failed to resolve entity 'SomeView*'
Kaynak sütun türleri uyuşmazlığı
let View_1 = view () { print x=1 };
let View_2 = view () { print x=toint(2) };
union withsource=TableName View_1, View_2
Çıktı
| TableName | x_long | x_int |
|---|---|---|
| View_1 | 1 | |
| View_2 | 2 |
let View_1 = view () { print x=1 };
let View_2 = view () { print x=toint(2) };
let View_3 = view () { print x_long=3 };
union withsource=TableName View_1, View_2, View_3
Çıktı
| TableName | x_long1 | x_int | x_long |
|---|---|---|---|
| View_1 | 1 | ||
| View_2 | 2 | ||
| View_3 | 3 |
x sütunundan View_1 alınan sonek _longve adlı x_long sütun sonuç şemasında zaten var olduğundan, sütun adları yinelenenleri kaldırılarak yeni bir sütun oluşturulur:x_long1