Compression.Type เป็น enumeration ใน Power Query ที่ช่วยกำหนดประเภทการบีบอัดข้อมูล เช่น GZip, Deflate, Snappy, Brotli, LZ4, Zstandard เมื่อทำงานกับ Binary.Compress หรือ Binary.Decompress
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| Type | text | ชนิดการบีบอัดจากรายการต่อไปนี้: None, GZip, Deflate, Snappy, Brotli, LZ4, Zstandard |
ทำงานกับข้อมูลบีบอัดใน Power Query แล้วสงสัยว่า “เอาไปบีบอัดแบบไหนเนี่ย” หรอกครับ เอาล่ะ Compression.Type มันเลยคือ ‘ลิสต์เมนู’ ของประเภทการบีบอัดที่ Power Query รองรับนั่นเอง ทุกครั้งที่คุณใช้ Binary.Compress หรือ Binary.Decompress คุณต้องบอก Power Query ว่าจะใช้ประเภทการบีบอัดไหน
ที่เจ๋งคือ Compression.Type มันให้ค่า enum ที่มีชื่อหรูหรา มากกว่าต้องเขียนตัวเลข ตัวอย่างเช่น เขียน `Compression.GZip` แทนเลข `0` สะอาดมาก สะดวกสำหรับการอ่านโค้ด และไม่ต้องจำตัวเลขนี่แน่ะ
ส่วนตัวผมแนะนำให้เลือก GZip หากไม่แน่ใจ มันใช้ได้ทั่วไป ความเข้ากันได้ดี และบีบอัดได้เหมาะสม ถ้า API ที่คุณใช้บอกมาว่าใช้ Brotli หรือ Zstandard ก็ใช้ตามนั้นได้เลย 😎
แปลง text เป็น binary จากนั้นบีบอัดด้วย Compression.GZip ผลลัพธ์คือ binary ที่เล็กลง สะดวกสำหรับส่งข้อมูลทางเครือข่าย
ใช้ Compression.Deflate เพื่อบอก Binary.Decompress ว่าข้อมูลถูกบีบอัดด้วย Deflate จากนั้นแปลง binary กลับเป็น text ด้วย Binary.ToText
บางตัว API ส่งข้อมูลบีบอัดด้วย Brotli เพื่อประหยัด bandwidth ใช้ Compression.Brotli เพื่อแตกไฟล์ให้ใช้งานได้
บันทึก Compression.Type ไว้ในตัวแปรเพื่อให้เปลี่ยนได้ง่าย และใช้ try…otherwise เพื่อจัดการข้อผิดพลาดถ้าชนิดบีบอัดไม่ตรงกัน
มันขึ้นอยู่กับว่าข้อมูลของคุณถูกบีบอัดด้วยวิธีไหนมา ผมแนะนำให้ดูเอกสาร API หรือถามผู้ให้บริการข้อมูล ถ้าไม่แน่ใจให้เริ่มจาก GZip ก่อน เพราะใช้ได้กว้างที่สุด
ผมใช้ Compression.None เวลาข้อมูลไม่ได้บีบอัดเลย แต่ว่า Binary.Decompress ต้องการค่า enum นี้ อย่างไรก็ตาม ถ้าข้อมูลไม่ได้บีบอัด ก็ไม่จำเป็นต้องใช้ Binary.Decompress หลายที
ผมพูดให้เข้าใจง่ายๆ: Snappy เร็วสุด แต่บีบอัดไม่ได้ดีเท่า LZ4 สมดุล Zstandard เจ๋งสุด บีบอัดดีและเร็ว แต่บางระบบอาจไม่รองรับ ถ้าลูกค้าบอกมา ก็ใช้ที่พวกเขาต้องการ
ดู file header หรือขอเอกสารจาก API provider ส่วนตัวผมมักถามถึง Slack หรือ email ถ้าไม่แน่ใจ ใช้เวลานิดหน่อยแต่ดีกว่า Error ร่วมราม
ฟังก์ชันที่ผู้เขียนโยงไว้กับ Compression.Type จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
Binary.Compress บีบอัดข้อมูลไบนารี่โดยใช้อัลกอริทึมการบีบอัด (เช่น GZIP)
Binary.Decompress ยกเลิกการบีบอัดข้อมูลไบนารี่ที่ถูกบีบอัดด้วย GZip หรือ Deflate กลับเป็นข้อมูลต้นฉบับ
Binary.FromText แปลงสตริงข้อความเป็นข้อมูลไบนารี่ที่สามารถใช้กับการเข้ารหัส Base64 หรือ Hex ได้
Binary.ToText แปลงข้อมูลไบนารี่เป็นข้อความโดยระบุวิธีการเข้ารหัส ใช้ได้ทั้ง Base64 และ Hex
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่