bag_pack()

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

Anahtarlar ve değerler listesinden dinamik özellik paketi nesnesi oluşturur.

Kullanım dışı bırakılan diğer adlar: pack(), pack_dictionary()

Sözdizimi

bag_pack( anahtar1, değer1,anahtar2,değer2,... )

Söz dizimi kuralları hakkında daha fazla bilgi edinin.

Parametreler

Ad Tür Zorunlu Açıklama
key string ✔️ Anahtar adı.
value herhangi bir skaler veri türü ✔️ Anahtar değeri.

Not

Anahtar ve değer dizeleri, listenin toplam uzunluğunun eşit olması gereken alternatif bir listedir.

Döndürülenler

Listelenen anahtar ve dynamic girişlerinden bir özellik paketi nesnesi döndürür.

Örnekler

Örnek 1

Aşağıdaki örnek, anahtar ve değerlerin değişen listesinden bir özellik paketi oluşturur ve döndürür.

print bag_pack("Level", "Information", "ProcessID", 1234, "Data", bag_pack("url", "www.bing.com"))

Sonuçlar

print_0
{"Level": "Information", "ProcessID": 1234, "Data": {"url":"www.bing.com"}}

Örnek 2

Aşağıdaki örnek bir özellik paketi oluşturur ve '.' işlecini kullanarak özellik paketinden değer ayıklar.

datatable (
    Source: int,
    Destination: int,
    Message: string
) [
    1234, 100, "Hi", 
    4567, 200, "Hello",
    1212, 300, "Hey" 
]
| extend MyBag=bag_pack("Dest", Destination, "Text", Message)
| project-away Source, Destination, Message
| extend MyBag_Dest=MyBag.Dest, MyBag_Text=MyBag.Text

Sonuçlar

MyBag MyBag_Dest MyBag_Text
{"Dest":100,"Text":"Hi" } 100 Merhaba
{"Dest":200,"Text":"Hello" } 200 Merhaba
{"Dest":300,"Text":"Hey" } 300 Selam

Örnek 3

Aşağıdaki örnek SmsMessages ve MmsMessages olmak üzere iki tablo kullanır ve ortak sütunlarını ve diğer sütunlardan bir özellik paketini döndürür. Tablolar, sorgunun bir parçası olarak geçici olarak oluşturulur.

SmsMessages

SourceNumber TargetNumber CharsCount
555-555-1234 555-555-1212 46
555-555-1234 555-555-1213 50
555-555-1212 555-555-1234 32

MmsMessages

SourceNumber TargetNumber Dosya Boyutu FileType DosyaAdı
555-555-1212 555-555-1213 200 jpeg Resim1
555-555-1234 555-555-1212 250 jpeg Resim2
555-555-1234 555-555-1213 300 png Pic3
let SmsMessages = datatable (
    SourceNumber: string,
    TargetNumber: string,
    CharsCount: string
) [
    "555-555-1234", "555-555-1212", "46", 
    "555-555-1234", "555-555-1213", "50",
    "555-555-1212", "555-555-1234", "32" 
];
let MmsMessages = datatable (
    SourceNumber: string,
    TargetNumber: string,
    FileSize: string,
    FileName: string
) [
    "555-555-1212", "555-555-1213", "200", "Pic1",
    "555-555-1234", "555-555-1212", "250", "Pic2",
    "555-555-1234", "555-555-1213", "300", "Pic3"
];
SmsMessages 
| join kind=inner MmsMessages on SourceNumber
| extend Packed=bag_pack("CharsCount", CharsCount, "FileSize", FileSize, "FileName", FileName) 
| where SourceNumber == "555-555-1234"
| project SourceNumber, TargetNumber, Packed

Sonuçlar

SourceNumber TargetNumber Packed
555-555-1234 555-555-1213 {"CharsCount":"50","FileSize":"250","FileName":"Pic2"}
555-555-1234 555-555-1212 {"CharsCount":"46","FileSize":"250","FileName":"Pic2"}
555-555-1234 555-555-1213 {"CharsCount":"50","FileSize":"300","FileName":"Pic3"}
555-555-1234 555-555-1212 {"CharsCount":"46","FileSize":"300","FileName":"Pic3"}