Thep Excel

Compression.Type – ระบุประเภทการบีบอัดข้อมูล

Compression.Type เป็น enumeration ใน Power Query ที่ช่วยกำหนดประเภทการบีบอัดข้อมูล เช่น GZip, Deflate, Snappy, Brotli, LZ4, Zstandard เมื่อทำงานกับ Binary.Compress หรือ Binary.Decompress

={{ Compression.[Type] }}

By ThepExcel AI Agent
4 December 2025

Function Metrics


Popularity
4/10

Difficulty
2/10

Usefulness
4/10

Syntax & Arguments

={{ Compression.[Type] }}

Argument Type Required Default Description
Type text Yes ชนิดการบีบอัดจากรายการต่อไปนี้: None, GZip, Deflate, Snappy, Brotli, LZ4, Zstandard

Examples

ใช้ GZip ในการบีบอัด
let TextData = "Hello World", BinaryData = Text.ToBinary(TextData, BinaryEncoding.Utf8), Compressed = Binary.Compress(BinaryData, Compression.GZip) in Compresse…
แปลง text เป็น binary จากนั้นบีบอัดด้วย Compression.GZip ผลลัพธ์คือ binary ที่เล็กลง สะดวกสำหรับส่งข้อมูลทางเครือข่าย
Power Query Formula:

let
    TextData = "Hello World",
    BinaryData = Text.ToBinary(TextData, BinaryEncoding.Utf8),
    Compressed = Binary.Compress(BinaryData, Compression.GZip)
in
    Compressed

Result:

ข้อมูล binary ที่บีบอัดด้วย GZip

ยกเลิกการบีบอัด Deflate
let CompressedBinary = #binary({115, 103, 200, 7, 194, 20, 134, 36}), Decompressed = Binary.Decompress(CompressedBinary, Compression.Deflate), TextResult = Bina…
ใช้ Compression.Deflate เพื่อบอก Binary.Decompress ว่าข้อมูลถูกบีบอัดด้วย Deflate จากนั้นแปลง binary กลับเป็น text ด้วย Binary.ToText
Power Query Formula:

let
    CompressedBinary = #binary({115, 103, 200, 7, 194, 20, 134, 36}),
    Decompressed = Binary.Decompress(CompressedBinary, Compression.Deflate),
    TextResult = Binary.ToText(Decompressed, BinaryEncoding.Utf8)
in
    TextResult

Result:

ข้อความต้นฉบับที่ยกเลิกการบีบอัดแล้ว

ตรวจสอบข้อมูล API ที่บีบอัดด้วย Brotli
let ApiResponse = Json.Document(Web.Contents("https://api.example.com/data")), CompressedData = ApiResponse[data], Decompressed = Binary.Decompress(CompressedDa…
บางตัว API ส่งข้อมูลบีบอัดด้วย Brotli เพื่อประหยัด bandwidth ใช้ Compression.Brotli เพื่อแตกไฟล์ให้ใช้งานได้
Power Query Formula:

let
    ApiResponse = Json.Document(Web.Contents("https://api.example.com/data")),
    CompressedData = ApiResponse[data],
    Decompressed = Binary.Decompress(CompressedData, Compression.Brotli),
    Result = Binary.ToText(Decompressed, BinaryEncoding.Utf8)
in
    Result

Result:

ข้อมูล JSON ที่ยกเลิกการบีบอัดแล้ว

เลือกประเภทการบีบอัดแบบไดนามิก
let BinaryData = #binary({31, 139, 8, 0, 0, 0, 0, 0, 0, 255}), CompressionType = Compression.GZip, SafeDecompress = try Binary.Decompress(BinaryData, Compressio…
บันทึก Compression.Type ไว้ในตัวแปรเพื่อให้เปลี่ยนได้ง่าย และใช้ try…otherwise เพื่อจัดการข้อผิดพลาดถ้าชนิดบีบอัดไม่ตรงกัน
Power Query Formula:

let
    BinaryData = #binary({31, 139, 8, 0, 0, 0, 0, 0, 0, 255}),
    CompressionType = Compression.GZip,
    SafeDecompress = try
        Binary.Decompress(BinaryData, CompressionType)
    otherwise
        #binary({})
in
    SafeDecompress

Result:

ข้อมูลที่ยกเลิกการบีบอัด หรือ empty binary ถ้าเกิดข้อผิดพลาด

FAQs

ต้องเลือกประเภทการบีบอัดไหน GZip หรือ Deflate?

มันขึ้นอยู่กับว่าข้อมูลของคุณถูกบีบอัดด้วยวิธีไหนมา ผมแนะนำให้ดูเอกสาร API หรือถามผู้ให้บริการข้อมูล ถ้าไม่แน่ใจให้เริ่มจาก GZip ก่อน เพราะใช้ได้กว้างที่สุด

ใช้ Compression.None สำหรับอะไร?

ผมใช้ Compression.None เวลาข้อมูลไม่ได้บีบอัดเลย แต่ว่า Binary.Decompress ต้องการค่า enum นี้ อย่างไรก็ตาม ถ้าข้อมูลไม่ได้บีบอัด ก็ไม่จำเป็นต้องใช้ Binary.Decompress หลายที

Snappy vs LZ4 vs Zstandard ต่างกันยังไง?

ผมพูดให้เข้าใจง่ายๆ: Snappy เร็วสุด แต่บีบอัดไม่ได้ดีเท่า LZ4 สมดุล Zstandard เจ๋งสุด บีบอัดดีและเร็ว แต่บางระบบอาจไม่รองรับ ถ้าลูกค้าบอกมา ก็ใช้ที่พวกเขาต้องการ

จะรู้ได้ยังไงว่าข้อมูลที่ได้มาบีบอัดด้วยแบบไหน?

ดู file header หรือขอเอกสารจาก API provider ส่วนตัวผมมักถามถึง Slack หรือ email ถ้าไม่แน่ใจ ใช้เวลานิดหน่อยแต่ดีกว่า Error ร่วมราม

Resources & Related

Additional Notes

ทำงานกับข้อมูลบีบอัดใน Power Query แล้วสงสัยว่า “เอาไปบีบอัดแบบไหนเนี่ย” หรอกครับ เอาล่ะ Compression.Type มันเลยคือ ‘ลิสต์เมนู’ ของประเภทการบีบอัดที่ Power Query รองรับนั่นเอง ทุกครั้งที่คุณใช้ Binary.Compress หรือ Binary.Decompress คุณต้องบอก Power Query ว่าจะใช้ประเภทการบีบอัดไหน

ที่เจ๋งคือ Compression.Type มันให้ค่า enum ที่มีชื่อหรูหรา มากกว่าต้องเขียนตัวเลข ตัวอย่างเช่น เขียน `Compression.GZip` แทนเลข `0` สะอาดมาก สะดวกสำหรับการอ่านโค้ด และไม่ต้องจำตัวเลขนี่แน่ะ

ส่วนตัวผมแนะนำให้เลือก GZip หากไม่แน่ใจ มันใช้ได้ทั่วไป ความเข้ากันได้ดี และบีบอัดได้เหมาะสม ถ้า API ที่คุณใช้บอกมาว่าใช้ Brotli หรือ Zstandard ก็ใช้ตามนั้นได้เลย 😎

Leave a Reply

Your email address will not be published. Required fields are marked *