ค้น หา

นําไปใช้กับ:การคํานวณคอลัมน์จากการคํานวณ ตารางจากการคํานวณ หน่วยวัดการคํานวณวิชวล

แสดงหมายเลขอักขระที่ระบบพบอักขระหรือสตริงข้อความที่ระบุครั้งแรก โดยอ่านจากซ้ายไปขวา การค้นหาต้องตรงตามตัวพิมพ์ใหญ่-เล็ก และตรงตามตัวอักษรพิมพ์ใหญ่-เล็ก

ไวยากรณ์

SEARCH(<find_text>, <within_text>[, [<start_num>][, <NotFoundValue>]])  

พารามิเตอร์

เงื่อนไข คำนิยาม
find_text ข้อความที่คุณต้องการค้นหา

คุณสามารถใช้อักขระตัวแทน — เครื่องหมายคําถาม (?) และเครื่องหมายดอกจัน (*) — ใน find_text เครื่องหมายคําถามตรงกับอักขระเดี่ยวใดๆ แต่เครื่องหมายปัจมีอักขระเดี่ยวนี้ถูกรวมไว้ เครื่องหมายดอกจันตรงกับลําดับอักขระใด ๆ ถ้าคุณต้องการค้นหาเครื่องหมายคําถามจริงหรือเครื่องหมายดอกจัน ให้พิมพ์ตัวหิ้ง (~) ก่อนอักขระ
within_text ข้อความที่คุณต้องการค้นหา find_text หรือคอลัมน์ที่มีข้อความ
start_num (ไม่บังคับ) ตําแหน่งอักขระใน within_text ที่คุณต้องการเริ่มค้นหา ถ้าเว้นไว้ จะเป็น 1
NotFoundValue (ไม่บังคับ แต่ขอแนะนําอย่างยิ่ง) ค่าที่ควรส่งกลับเมื่อการดําเนินการไม่พบสตริงย่อยที่ตรงกัน โดยทั่วไปจะเป็น 0, -1 หรือ BLANK() ถ้าไม่ได้ระบุ ข้อผิดพลาดจะถูกส่งกลับ

ค่าที่ส่งกลับ

หมายเลขตําแหน่งเริ่มต้นของสตริงข้อความแรกจากอักขระแรกของสตริงข้อความที่สอง

หมายเหตุ

  • ฟังก์ชันการค้นหาต้องตรงตามตัวพิมพ์ใหญ่-เล็ก การค้นหา "N" จะหาการปรากฏครั้งแรกของ 'N' หรือ 'n'

  • ฟังก์ชันการค้นหาต้องตรงตามตัวอักษรพิมพ์ใหญ่-เล็ก การค้นหา "á" จะหาการปรากฏครั้งแรกของ 'á' แต่ไม่หาการปรากฏของ 'a', 'à' หรือในเวอร์ชันตัวอักษรใหญ่ 'A', 'Á'

  • คุณสามารถใช้ฟังก์ชัน SEARCH เพื่อกําหนดตําแหน่งที่ตั้งของอักขระหรือสตริงข้อความที่อยู่ภายในสตริงข้อความอื่น จากนั้นใช้ฟังก์ชัน MID เพื่อแสดงข้อความ หรือใช้ฟังก์ชัน REPLACE เพื่อเปลี่ยนข้อความ

  • ถ้าไม่พบ find_text ใน within_text สูตรจะแสดงข้อผิดพลาด ลักษณะการทํางานนี้จะเหมือนกับ Excel ซึ่งแสดง #VALUE ถ้าไม่พบสตริงย่อย Null ใน within_text จะถูกตีความว่าเป็นสตริงว่างในบริบทนี้

  • ฟังก์ชันนี้ไม่ได้รับการสนับสนุนสําหรับการใช้งานในโหมด DirectQuery เมื่อใช้ในคอลัมน์จากการคํานวณหรือกฎการรักษาความปลอดภัยระดับแถว (RLS)

ตัวอย่าง

คิวรี DAX ต่อไปนี้จะค้นหาตําแหน่งของตัวอักษรตัวแรกของ "วงจร" ในสตริงที่มีชื่อผู้จําหน่าย ถ้าไม่พบ ค่าว่างจะถูกส่งกลับ

SEARCH ต้องตรงตามตัวพิมพ์ใหญ่-เล็ก ในตัวอย่างนี้ ถ้ามีการใช้ "cycle" หรือ "Cycle" ใน <อาร์กิวเมนต์ find_text> ผลลัพธ์จะถูกส่งกลับสําหรับกรณีใดกรณีหนึ่ง ใช้ FIND สําหรับตรงตามตัวพิมพ์ใหญ่-เล็ก

ตัวอย่างในบทความนี้สามารถใช้ได้กับตัวอย่าง Adventure Works DW 2020 Power BI Desktop แบบจําลอง หากต้องการรับแบบจําลอง โปรดดู แบบจําลองตัวอย่าง DAX

EVALUATE
CALCULATETABLE (
    ADDCOLUMNS (
        TOPN ( 10, SUMMARIZE('Reseller', [Reseller], [Business Type])),
        "Position of cycle", SEARCH ( "cycle", 'Reseller'[Reseller], 1, BLANK () )
    ),
    'Reseller'[Business Type] IN { "Specialty Bike Shop", "Value Added Reseller", "Warehouse"}
)

กลับ

Reseller ประเภทธุรกิจ ตําแหน่งของวงจร
ปริมาณผู้ขายจักรยาน คลังสินค้า
จักรยานตลาดมวลชน ผู้จำหน่ายทีมีการเพิ่มมูลค่า
รอบฝาแฝด ผู้จำหน่ายทีมีการเพิ่มมูลค่า 6
ห้างสรรพสินค้า Rich คลังสินค้า
คลังภาพเช่า ร้านจักรยานเฉพาะทาง
ร้านของเล่นงบประมาณ คลังสินค้า
ทางออกกีฬาสากล คลังสินค้า
แคตตาล็อกจักรยานออนไลน์ คลังสินค้า
หมวกกันน็อคและรอบ ผู้จำหน่ายทีมีการเพิ่มมูลค่า 13
จักรยานจัมโบ้ ร้านจักรยานเฉพาะทาง

ค้น หา
แทน
ฟังก์ชันข้อความ