Ανάγνωση στα Αγγλικά

Κοινή χρήση μέσω


COMBINEVALUES

Ισχύει για:Υπολογιζόμενη στήληΥπολογιζόμενος πίνακαςMeasureΥπολογισμός απεικόνισης

Ενώνει δύο or περισσότερες συμβολοσειρές κειμένου σε μία συμβολοσειρά κειμένου. Ο κύριος σκοπός αυτής της συνάρτησης είναι η υποστήριξη σχέσεων πολλών στηλών σε μοντέλα DirectQuery. Για λεπτομέρειες, ανατρέξτε στις παρατηρήσεις .

Σύνταξη

COMBINEVALUES(<delimiter>, <expression>, <expression>[, <expression>]…)

Παραμέτρους

Όρος Ορισμός
delimiter Ένα διαχωριστικό που θα χρησιμοποιηθεί κατά τη συνένωση. Πρέπει να είναι μια σταθερά value.
expression Μια DAX παράσταση της οποίας η value θα ενωθεί σε μία μόνο συμβολοσειρά κειμένου.

Επιστροφή value

Μια συνενωμένη συμβολοσειρά.

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

  • Η συνάρτηση COMBINEVALUES υποθέτει, αλλά not επικυρώνει, ότι όταν οι values εισόδου διαφέρουν, οι συμβολοσειρές εξόδου είναι επίσης διαφορετικές. Με βάση αυτή την υπόθεση, όταν χρησιμοποιείται COMBINEVALUES για τη δημιουργία υπολογιζόμενων στηλών προκειμένου να δημιουργηθεί μια σχέση που συνδέει πολλές στήλες από δύο πίνακες DirectQuery, δημιουργείται μια βελτιστοποιημένη συνθήκη σύνδεσης στο ερώτημα time. Για παράδειγμα, if χρήστες θέλουν να δημιουργήσουν μια σχέση μεταξύ του Table1(Column1, Column2) and Table2(Column1, Column2), μπορούν να δημιουργήσουν δύο υπολογιζόμενες στήλες, μία σε κάθε πίνακα, όπως:

    Table1[CalcColumn] = COMBINEVALUES(",", Table1[Column1], Table1[Column2])
    

    and

    Table2[CalcColumn] = COMBINEVALUES(",", Table2[Column1], Table2[Column2])
    

    And τότε δημιουργήστε μια σχέση μεταξύ Table1[CalcColumn]andTable2[CalcColumn]. Σε αντίθεση με άλλες συναρτήσεις DAXand τελεστών, οι οποίοι μεταφράζονται κυριολεκτικά στους αντίστοιχους τελεστές SQL and συναρτήσεις, η παραπάνω σχέση δημιουργεί ένα κατηγόρημα ένωσης SQL ως:

    (Table1.Column1 = Table2.Column1 OR Table1.Column1 IS NULL AND Table2.Column1 IS NULL)
    

    and

    (Table1.Column2 = Table2.Column2 OR Table1.Column2 IS NULL AND Table2.Column2 IS NULL)
    
  • Το κατηγόρημα ένωσης μπορεί πιθανώς να παρέχει πολύ καλύτερες επιδόσεις ερωτημάτων από εκείνον που περιλαμβάνει σύνθετους τελεστές SQL and συναρτήσεις.

  • Η συνάρτηση COMBINEVALUES βασίζεται στους χρήστες για να επιλέξουν τον κατάλληλο οριοθέτη για να εξασφαλίσει ότι οι μοναδικοί συνδυασμοί εισόδου values παράγουν διακριτές συμβολοσειρές εξόδου, αλλά not επικυρώνει ότι η υπόθεση είναι true. Για παράδειγμα, if χρήστες επιλέγουν "| " ως οριοθέτη, αλλά μία γραμμή στον Πίνακα1 έχει Table1[Column1] = "| "andTable2 [Column2] = " ", ενώ μία γραμμή στον Πίνακα2 έχει Table2[Column1] = " "andTable2[Column2] = "| ", οι δύο συνδεδεμένες έξοδοι θα είναι οι ίδιες "|| ", που φαίνεται να υποδεικνύουν ότι οι δύο γραμμές συμφωνούν στη λειτουργία ένωσης. Οι δύο γραμμές not συνενώνονται if και οι δύο πίνακες προέρχονται από την ίδια προέλευση DirectQuery, αν και ενώνονται if εισάγονται και οι δύο πίνακες.

Παράδειγμα

Το παρακάτω DAX ερώτημα:

EVALUATE
DISTINCT (
    SELECTCOLUMNS ( Date, "Month", COMBINEVALUES ( ", ", [MonthName], [CalendarYear] ) )
)

Επιστρέφει τον παρακάτω πίνακα μοναδικής στήλης:

[Month]
Ιανουάριος 2020
Φεβρουάριος 2020
Μάρτιος 2020
Απρίλιος 2020
Μάιος 2020
Ιούνιος 2020
Ιούλιος, 2020
Αύγουστος 2020
Σεπτέμβριος, 2020
Οκτώβριος 2020
Νοέμβριος 2020
Δεκέμβριος 2020
Ιανουάριος 2021
Ιανουάριος 2021
Φεβρουάριος 2021
Μάρτιος 2021
Απρίλιος 2021
Μάιος 2021
Ιούνιος 2021
Ιούλιος, 2021
Αύγουστος 2021
Σεπτέμβριος, 2021
Οκτώβριος 2021
Νοέμβριος 2021
Δεκέμβριος 2021