bag_pack()

Skapar ett dynamiskt egenskapsuppsättningsobjekt från en lista med nycklar och värden.

Inaktuella alias: pack(), pack_dictionary()

Syntax

bag_pack(key1,value1,key2,value2,... )

Läs mer om syntaxkonventioner.

Parametrar

Namn Typ Obligatorisk Beskrivning
Nyckel string ✔️ Nyckelnamnet.
värde string ✔️ Nyckelvärdet.

Anteckning

Nyckel- och värdesträngarna är en alternerande lista som listans totala längd måste vara jämn.

Returer

Returnerar ett dynamic egenskapsuppsättningsobjekt från de angivna nyckel - och värdeindata .

Exempel

Exempel 1

I följande exempel skapas och returneras en egenskapsuppsättning från en alternerande lista med nycklar och värden.

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

Resultat

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

Exempel 2

I följande exempel används två tabeller, SmsMessages och MmsMessages, och returnerar deras gemensamma kolumner och en egenskapsuppsättning från de andra kolumnerna. Tabellerna skapas ad hoc som en del av frågan.

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 AttachmentSize AttachmentType AttachmentName
555-555-1212 555-555-1213 200 jpeg Bild 1
555-555-1234 555-555-1212 250 jpeg Bild 2
555-555-1234 555-555-1213 300 png Bild 3
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,
    AttachmentSize: string,
    AttachmentType: string,
    AttachmentName: string
) [
    "555-555-1212", "555-555-1213", "200", "jpeg", "Pic1",
    "555-555-1234", "555-555-1212", "250", "jpeg", "Pic2",
    "555-555-1234", "555-555-1213", "300", "png", "Pic3"
];
SmsMessages 
| join kind=inner MmsMessages on SourceNumber
| extend Packed=bag_pack("CharsCount", CharsCount, "AttachmentSize", AttachmentSize, "AttachmentType", AttachmentType, "AttachmentName", AttachmentName) 
| where SourceNumber == "555-555-1234"
| project SourceNumber, TargetNumber, Packed

Resultat

SourceNumber TargetNumber Packade
555-555-1234 555-555-1213 {"CharsCount":"50","AttachmentSize":"250","AttachmentType":"jpeg","AttachmentName":"Pic2"}
555-555-1234 555-555-1212 {"CharsCount":"46","AttachmentSize":"250","AttachmentType":"jpeg","AttachmentName":"Pic2"}
555-555-1234 555-555-1213 {"CharsCount":"50","AttachmentSize":"300","AttachmentType":"png","AttachmentName":"Pic3"}
555-555-1234 555-555-1212 {"CharsCount":"46","AttachmentSize":"300","AttachmentType":"png","AttachmentName":"Pic3"}