LOOKUPVALUE

Επιστρέφει την τιμή για τη γραμμή που ικανοποιεί όλα τα κριτήρια που καθορίζονται από μία ή περισσότερες συνθήκες αναζήτησης.

Σύνταξη

LOOKUPVALUE (
    <result_columnName>,
    <search_columnName>,
    <search_value>
    [, <search2_columnName>, <search2_value>]…
    [, <alternateResult>]
)

Παράμετροι

Όρος Ορισμός
result_columnName Το όνομα μιας υπάρχουσας στήλης που περιέχει την τιμή που θέλετε να επιστραφεί. Δεν μπορεί να είναι παράσταση.
search_columnName Το όνομα μιας υπάρχουσας στήλης. Μπορεί να είναι στον ίδιο πίνακα όπως result_columnName ή σε έναν σχετιζόμενο πίνακα. Δεν μπορεί να είναι παράσταση. Μπορούν να καθοριστούν πολλά ζεύγη search_columnName και search_value.
search_value Η τιμή προς αναζήτηση στο search_columnName. Μπορούν να καθοριστούν πολλά ζεύγη search_columnName και search_value.
alternateResult (Προαιρετικό) Η τιμή επιστρέφεται όταν το περιβάλλον για result_columnName έχει φιλτραριστεί στο μηδέν ή σε περισσότερες από μία διακριτές τιμές. Εάν δεν καθοριστεί, η συνάρτηση επιστρέφει BLANK όταν result_columnName φιλτράρεται σε μηδέν τιμές ή σφάλμα όταν υπάρχουν περισσότερες από μία διακριτές τιμές στο περιβάλλον για result_columnName.

Επιστρεφόμενη αξία

Η τιμή του result_columnName στη γραμμή όπου όλα τα ζεύγη search_columnName και search_value έχουν ακριβή συμφωνία.

Εάν δεν υπάρχει αντιστοιχία που να ικανοποιεί όλες τις τιμές αναζήτησης, επιστρέφεται BLANK ή alternateResult (εάν καθορίζεται). Με άλλα λόγια, η συνάρτηση δεν επιστρέφει μια τιμή αναζήτησης εάν συμφωνούν μόνο μερικά από τα κριτήρια.

Εάν πολλές γραμμές συμφωνούν με τις τιμές αναζήτησης και οι τιμές στον result_columnName για αυτές τις γραμμές είναι πανομοιότυπες, τότε επιστρέφεται αυτή η τιμή. Ωστόσο, εάν result_columnName επιστρέφει διαφορετικές τιμές, επιστρέφεται σφάλμα ή alternateResult (εάν καθορίζεται).

Παρατηρήσεις

  • Εάν υπάρχει μια σχέση μεταξύ του πίνακα που περιέχει τη στήλη αποτελέσματος και των πινάκων που περιέχουν τις στήλες αναζήτησης, στις περισσότερες περιπτώσεις, η χρήση της συνάρτησης RELATED αντί της συνάρτησης LOOKUPVALUE είναι πιο αποτελεσματική και παρέχει καλύτερες επιδόσεις.

  • Μπορούν να καθοριστούν πολλά ζεύγη search_columnName και search_value .

  • Οι παράμετροι search_value και alternateResult αξιολογούνται προτού η συνάρτηση επαναλαμβάνει τις γραμμές του πίνακα αναζήτησης.

  • Αποφύγετε τη χρήση συναρτήσεων ISERROR ή IFERROR για την καταγραφή ενός σφάλματος που επιστρέφεται από τη συνάρτηση LOOKUPVALUE. Εάν ορισμένες είσοδοι στη συνάρτηση έχουν ως αποτέλεσμα ένα σφάλμα όταν δεν είναι δυνατός ο προσδιορισμός μιας μοναδικής τιμής εξόδου, η παροχή μιας παραμέτρου alternateResult είναι ο πιο αξιόπιστος και με τις υψηλότερες επιδόσεις τρόπος χειρισμού του σφάλματος.

  • Η παράμετρος alternateResult επιστρέφει ένα σφάλμα εάν καθορίζεται σε μια υπολογιζόμενη στήλη Power Pivot.

  • Αυτή η συνάρτηση δεν υποστηρίζεται για χρήση σε λειτουργία DirectQuery όταν χρησιμοποιείται σε υπολογιζόμενες στήλες ή σε κανόνες ασφάλειας σε επίπεδο γραμμών (RLS).

Παράδειγμα 1

Σε αυτό το παράδειγμα, η συνάρτηση LOOKUPVALUE χρησιμοποιείται για την αναζήτηση στη Μέση τιμή για το νόμισμα που χρησιμοποιείται για την πληρωμή της παραγγελίας την ημέρα που έγινε η παραγγελία:

Exchange Rate = 
LOOKUPVALUE (
    'Currency Rate'[Average Rate],
    'Currency Rate'[CurrencyKey], [CurrencyKey],
    'Currency Rate'[DateKey], [OrderDateKey]
)

Τόσο η Ημερομηνία παραγγελίας όσο και η Νομισματική μονάδα απαιτούνται για την εύρεση της Μέσης τιμής για τη σωστή ημερομηνία και νόμισμα. Τα OrderDateKey και CurrencyKey είναι τα κλειδιά που χρησιμοποιούνται για την αναζήτηση της μέσης τιμής στον πίνακα Ισοτιμία νομίσματος.

Μπορείτε να χρησιμοποιήσετε τη Συναλλαγματική ισοτιμία για να υπολογίσετε το Ποσό πωλήσεων σε τοπικό νόμισμα με:

Sales Amount Local Currency = [Sales Amount] * [Exchange Rate]

Παράδειγμα 2

Σε αυτό το παράδειγμα, η παρακάτω υπολογιζόμενη στήλη που έχει οριστεί στον πίνακα Πωλήσεις χρησιμοποιεί τη συνάρτηση LOOKUPVALUE για να επιστρέψει τιμές καναλιού από τον πίνακα Παραγγελία πωλήσεων.

CHANNEL = 
LOOKUPVALUE (
    'Sales Order'[Channel],
    'Sales Order'[SalesOrderLineKey],
    [SalesOrderLineKey]
)

Ωστόσο, σε αυτή την περίπτωση, επειδή υπάρχει μια σχέση μεταξύ των πινάκων Sales Order και Sales , είναι πιο αποτελεσματική η χρήση της συνάρτησης RELATED .

CHANNEL = RELATED('Sales Order'[Channel])

Συνάρτηση RELATED (DAX)
Συναρτήσεις πληροφοριών