ตัวอย่างที่ 1: ใช้กับ List.Contains
=List.Contains({"A", "B"}, "a", Comparer.Ordinal)
false
ตัวเปรียบเทียบแบบไบนารี (สนใจตัวพิมพ์เล็ก/ใหญ่)
Comparer.Ordinal สร้างตัวเปรียบเทียบที่สนใจตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ดังนั้น “A” ไม่เท่ากับ “a” ใช้เป็น Argument ในฟังก์ชันต่างๆ ที่มีการเปรียบเทียบหรือค้นหา
=Comparer.Ordinal(x as any, y as any) as number
=Comparer.Ordinal(x as any, y as any) as number
| Argument | Type | Required | Default | Description |
|---|---|---|---|---|
| x | any | Yes | ค่าแรกที่ต้องการเปรียบเทียบ | |
| y | any | Yes | ค่าที่สองที่ต้องการเปรียบเทียบ |
ใช้กับ List.Contains หรือ Text.Contains เพื่อให้ค้นหาค่าว่าตรงกับตัวพิมพ์เท่านั้น
ใช้กับ Table.Distinct หรือ List.Distinct เพื่อให้ "Apple" กับ "apple" ถูกมองว่าเป็นค่าต่างกัน
ใช้กับ List.Sort หรือ Table.Sort เพื่อให้ตัวพิมพ์ใหญ่อยู่หน้าตัวพิมพ์เล็ก
=List.Contains({"A", "B"}, "a", Comparer.Ordinal)
false
=Text.Contains("Hello", "hello", Comparer.Ordinal)
false
=Comparer.Ordinal("A", "a")
-1
Comparer.Ordinal สนใจตัวพิมพ์เล็ก/ใหญ่ (Case Sensitive) ดังนั้น “A” ไม่เท่ากับ “a” ส่วน Comparer.OrdinalIgnoreCase ไม่สนใจ (Case Insensitive)
Comparer.Ordinal คืนค่าเป็นตัวเลข: 0 หากค่าเท่ากัน, -1 หากค่าแรก ค่าที่สอง
ใช้ Comparer.Ordinal เมื่อต้องการให้การเปรียบเทียบสนใจตัวพิมพ์เล็กและใหญ่ เช่นการค้นหารหัสที่ต้องแยกความเป็นสัญญาณจำเพาะ (case-sensitive)
ฟังก์ชัน Comparer.Ordinal ใน Power Query ใช้สำหรับสร้างตัวเปรียบเทียบ (Comparer) ที่เปรียบเทียบค่าโดยพิจารณาตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ (Case Sensitive) โดยใช้การเปรียบเทียบแบบไบนารี