SEARCH
นําไปใช้กับ: คอลัมน์จากการคํานวณตารางจากการคํานวณ
หน่วยวัด
การคํานวณวิชวล
แสดงหมายเลขอักขระที่ระบบพบอักขระหรือสตริงข้อความที่ระบุครั้งแรก โดยอ่านจากซ้ายไปขวา การค้นหาต้องตรงตามตัวพิมพ์ใหญ่-เล็ก และตรงตามตัวอักษรพิมพ์ใหญ่-เล็ก
ไวยากรณ์
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 ต่อไปนี้จะค้นหาตําแหน่งของตัวอักษรตัวแรกของ "cycle" ในสตริงที่มีชื่อผู้จําหน่าย ถ้าไม่พบ ค่าว่างจะถูกส่งกลับ
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 |
จักรยานจัมโบ้ | ร้านจักรยานเฉพาะทาง |
เนื้อหาที่เกี่ยวข้อง
ฟังก์ชันข้อความของ