อ่านในภาษาอังกฤษ

แชร์ผ่าน


SEARCH

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

แสดงหมายเลขอักขระที่อักขระเฉพาะ or สตริงข้อความพบ first อ่าน left ถึง right Search ต้องตรงตามตัวพิมพ์ใหญ่-เล็ก and เน้น

ไวยากรณ์

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

พารามิเตอร์

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

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

value ผลลัพธ์

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

หมายเหตุ

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

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

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

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

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

ตัวอย่าง

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

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

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

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 ประเภทธุรกิจ ตําแหน่งของวงจร
ปริมาณผู้ขายจักรยาน คลังสินค้า
จักรยานตลาดมวลชน ผู้จําหน่ายที่เพิ่ม Value
รอบฝาแฝด ผู้จําหน่ายที่เพิ่ม Value 6
ห้างสรรพสินค้า Rich คลังสินค้า
คลังภาพเช่า ร้านจักรยานเฉพาะทาง
ร้านของเล่นงบประมาณ คลังสินค้า
ทางออกกีฬาสากล คลังสินค้า
แคตตาล็อกจักรยานออนไลน์ คลังสินค้า
รอบ and หมวกนิรภัย ผู้จําหน่ายที่เพิ่ม Value 13
จักรยานจัมโบ้ ร้านจักรยานเฉพาะทาง

FIND
REPLACE
ฟังก์ชันข้อความ