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".
Η συνάρτηση αναζήτησης κάνει διάκριση χαρακτήρων με τόνους. Η αναζήτηση για "α" θα βρει την πρώτη εμφάνιση του "α", αλλά όχι τις εμφανίσεις του "α", του "ά" ή τις κεφαλαιοποιημένες εκδόσεις "Α", "Ά".
Μπορείτε να χρησιμοποιήσετε τη συνάρτηση 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 |
Εμπλουτισμένο πολυκατάστημα | Αποθήκη | |
Συλλογή ενοικίασης | Εξειδικευμένο κατάστημα ποδηλάτων | |
Budget Toy Store | Αποθήκη | |
Παγκόσμιο Αθλητικό Κατάστημα | Αποθήκη | |
Online Bike Catalog | Αποθήκη | |
Helmets and Cycles | Μεταπωλητής προστιθέμενης αξίας | 13 |
Τεράστια ποδήλατα | Εξειδικευμένο κατάστημα ποδηλάτων |