Text.Length ใช้นับจำนวนตัวอักษรทั้งหมดในสตริงข้อความ รวมถึงช่องว่างและอักขระพิเศษ ผลลัพธ์คืนค่าเป็นตัวเลข มีประโยชน์ในการตรวจสอบคุณภาพข้อมูล การกรองข้อมูลตามความยาว หรือการคำนวณ Logic ต่างๆ
| อาร์กิวเมนต์ | ชนิด | คำอธิบาย |
|---|---|---|
| text | text | ข้อความที่ต้องการนับจำนวนตัวอักษร อาจเป็น null ได้ ถ้าเป็น null จะคืนค่า null |
Text.Length ใน Power Query ใช้สำหรับนับจำนวนตัวอักษรทั้งหมดที่มีอยู่ในข้อความ รวมถึงช่องว่างและสัญลักษณ์พิเศษด้วย ส่วนตัวผมชอบใช้ฟังก์ชันนี้คู่กับ Table.SelectRows เพื่อกรองข้อมูลที่มีความยาวไม่ตรงตามเกณฑ์ เช่นกรองรหัสผ่านที่สั้นเกินไป หรือตรวจสอบว่าข้อมูล ID มีรูปแบบที่ถูกต้องหรือไม่
ที่เจ๋งคือ Text.Length นับ null เป็นอักษร 0 ไม่ใช่ null ดังนั้นตรวจสอบ null ก่อนการนับสำคัญมากเลย ถ้าไม่เช็ก null อาจทำให้ query ของเราขัดข้องได้
ส่วนตัวผม มักใช้ Text.Length ไปกับ Text.Trim เพื่อให้ได้ความยาวที่แท้จริง เพราะบางครั้งข้อมูลจากแหล่งอื่นมีช่องว่างหน้า-หลังติดมา ซึ่งทำให้การนับไม่แม่นยำ 😎
เช็คว่ารหัสสินค้า หรือรหัสบัตรประชาชนมีจำนวนตัวอักษรตรงตามที่กำหนดหรือไม่
ใช้ร่วมกับ Text.Trim เพื่อหาความยาวที่แท้จริงของเนื้อหา (ไม่รวมช่องว่างหน้าหลัง)
นับจำนวนตัวอักษรของข้อความในรีวิว เพื่อดูว่ารีวิวสั้นหรือยาว
คำว่า "apple" มี 5 ตัวอักษร
"hello world" มี 11 ตัวอักษร (h-e-l-l-o-space-w-o-r-l-d)
สร้างคอลัมน์ใหม่ที่แสดงความยาวข้อความสำหรับแต่ละแถว
กรองเหลือแค่ชื่อที่มีความยาวมากกว่า 5 ตัวอักษร
ตรวจสอบว่ารหัสผ่านมีความยาวตั้งแต่ 8 ตัวอักษรขึ้นไป
ถ้าไม่ trim ก็จะนับ 13 (รวมช่องว่าง 4 ตัว) แต่ trim ก่อนจะเหลือแค่ 5
ไม่ต่างครับ ทั้งสองทำหน้าที่เดียวกัน – นับตัวอักษร แต่ Text.Length ใช้ใน Power Query (M language) ส่วน LEN() ใช้ใน Excel Worksheet Function
จะคืนค่า null ตัวเอง ถ้าต้องการให้คืนค่า 0 แทน ให้ใช้ Text.Length(…) ?? 0
นับครับ Text.Length นับทุกอักขระ ไม่ว่าจะเป็น ASCII, Unicode, emoji, สัญลักษณ์พิเศษ ก็นับหมด
ไม่ Text.Length นับตัวอักษรไทยเหมือนตัวอักษรอื่นๆ นับตัวอักษร 1 ตัวต่อ 1 ตัวอักษร
ได้ครับ ใช้ List.Transform({"apple", "banana"}, each Text.Length(_)) ได้ผลลัพธ์เป็น {5, 6}
ฟังก์ชันที่ผู้เขียนโยงไว้กับ Text.Length จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
Text.End ใช้สำหรับดึงอักขระจำนวนที่ระบุจากท้ายสตริงข้อความ เป็นประโยชน์สำหรับการดึงนามสกุลไฟล์ และส่วนท้ายของข้อมูล
Text.Middle ใช้สำหรับดึงข้อความตั้งแต่ตำแหน่งที่ระบุไปจำนวนอักขระที่กำหนด หากไม่ระบุจำนวนตัวอักษร จะดึงจากตำแหน่งเริ่มต้นไปถึงท้าย
Text.Pad เพิ่มอักษรเติมให้ข้อความมีความยาวที่ต้องการ สามารถเพิ่มไปทางด้านซ้าย กลาง หรือขวาของข้อความ ฟังก์ชันนี้มีประโยชน์เมื่อต้องการจัดรูปแบบข้อความให้มีความยาวเท่ากัน เช่นรหัสสินค้า หรือรหัสพนักงาน
Text.Range ใช้สำหรับดึงข้อความตั้งแต่ตำแหน่งที่ระบุไปยังท้ายสตริง หรือจำนวนอักขระที่กำหนด ถ้าจำนวนอักขระไม่พอ ฟังก์ชันจะคืนค่าเท่าที่หาได้
กลับด้านข้อความ (Reverse String)
Text.Start ดึงอักขระจำนวนที่กำหนดจากตัวแรกของสตริงข้อความ ใช้สำหรับดึงชื่อย่อ รหัส หรือส่วนแรกของข้อมูล
Text.Trim ลบอักขระที่ระบุออกจากต้นและท้ายของข้อความ ค่าเริ่มต้นจะลบแค่ช่องว่าง
Table.SelectRows เป็นฟังก์ชันสำหรับกรองตาราง (filter table) ใน Power Query โดยใช้ฟังก์ชันเงื่อนไข (condition function) เพื่อตรวจสอบแต่ละแถว ถ้าเงื่อนไขคืนค่า true จะเก็บแถวนั้นไว้ ถ้าเป็น false จะตัดทิ้ง สามารถใช้ keyword 'each' ร่วมกับการอ้างอิงคอลัมน์ด้วย [ColumnName] เพื่อเขียนเงื่อนไขได้สะดวก รองรับการกรองตามตัวเลข ข้อความ วันที่ การตรวจสอบค่า null และเงื่อนไขที่ซับซ้อนด้วย and/or operators ฟังก์ชันนี้รองรับ Query Folding ซึ่งช่วยเพิ่มประสิทธิภาพเมื่อทำงานกับ data source ขนาดใหญ่
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่