Text.Length ใช้นับจำนวนตัวอักษรทั้งหมดในสตริงข้อความ รวมถึงช่องว่างและอักขระพิเศษ ผลลัพธ์คืนค่าเป็นตัวเลข มีประโยชน์ในการตรวจสอบคุณภาพข้อมูล การกรองข้อมูลตามความยาว หรือการคำนวณ Logic ต่างๆ
=Text.Length(text as nullable text) as nullable number
=Text.Length(text as nullable text) as nullable number
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| text | text | Yes | ข้อความที่ต้องการนับจำนวนตัวอักษร อาจเป็น null ได้ ถ้าเป็น null จะคืนค่า null |
เช็คว่ารหัสสินค้า หรือรหัสบัตรประชาชนมีจำนวนตัวอักษรตรงตามที่กำหนดหรือไม่
ใช้ร่วมกับ Text.Trim เพื่อหาความยาวที่แท้จริงของเนื้อหา (ไม่รวมช่องว่างหน้าหลัง)
นับจำนวนตัวอักษรของข้อความในรีวิว เพื่อดูว่ารีวิวสั้นหรือยาว
Text.Length("apple")= Text.Length("apple")
5
Text.Length("hello world")= Text.Length("hello world")
11
let Source = Table.FromRows({"apple", "banana", "kiwi"}), AddLength = Table.AddColumn(Source, "Length", each Text.Length([Value])) in AddLengthlet
Source = Table.FromRows({"apple", "banana", "kiwi"}),
AddLength = Table.AddColumn(Source, "Length", each Text.Length([Value]))
in
AddLength
3 แถว พร้อมคอลัมน์ Length แสดง 5, 6, 4
let Customers = Table.FromRows({"John", "AB", "Christopher"}), LongNames = Table.SelectRows(Customers, each Text.Length([Name]) > 5) in LongNameslet
Customers = Table.FromRows({"John", "AB", "Christopher"}),
LongNames = Table.SelectRows(Customers, each Text.Length([Name]) > 5)
in
LongNames
2 แถว: "John" (4, ไม่รวม), "Christopher" (11, รวม)
let Password = "MyPass123", IsValid = Text.Length(Password) >= 8 in IsValidlet
Password = "MyPass123",
IsValid = Text.Length(Password) >= 8
in
IsValid
true
Text.Length(Text.Trim(" hello "))= Text.Length(Text.Trim(" hello "))
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 ใน Power Query ใช้สำหรับนับจำนวนตัวอักษรทั้งหมดที่มีอยู่ในข้อความ รวมถึงช่องว่างและสัญลักษณ์พิเศษด้วย ส่วนตัวผมชอบใช้ฟังก์ชันนี้คู่กับ Table.SelectRows เพื่อกรองข้อมูลที่มีความยาวไม่ตรงตามเกณฑ์ เช่นกรองรหัสผ่านที่สั้นเกินไป หรือตรวจสอบว่าข้อมูล ID มีรูปแบบที่ถูกต้องหรือไม่
ที่เจ๋งคือ Text.Length นับ null เป็นอักษร 0 ไม่ใช่ null ดังนั้นตรวจสอบ null ก่อนการนับสำคัญมากเลย ถ้าไม่เช็ก null อาจทำให้ query ของเราขัดข้องได้
ส่วนตัวผม มักใช้ Text.Length ไปกับ Text.Trim เพื่อให้ได้ความยาวที่แท้จริง เพราะบางครั้งข้อมูลจากแหล่งอื่นมีช่องว่างหน้า-หลังติดมา ซึ่งทำให้การนับไม่แม่นยำ 😎