USERELATIONSHIP

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

Καθορίζει τη σχέση που θα χρησιμοποιηθεί σε έναν συγκεκριμένο υπολογισμό ως αυτή που υπάρχει μεταξύ των columnName1 και columnName2.

Σύνταξη

USERELATIONSHIP(<columnName1>,<columnName2>)  

Παράμετροι

Όρος Ορισμός
columnName1 Το όνομα μιας υπάρχουσας στήλης, χρησιμοποιώντας τυπική σύνταξη DAX και πλήρως προσδιορισμένη, που συνήθως αντιπροσωπεύει την πλευρά πολλά της σχέσης που θα χρησιμοποιηθεί. Εάν τα ορίσματα δοθούν με αντίστροφη σειρά, η συνάρτηση θα τα αλλάξει πριν τα χρησιμοποιήσει. Αυτό το όρισμα δεν μπορεί να είναι παράσταση.
columnName2 Το όνομα μιας υπάρχουσας στήλης, χρησιμοποιώντας τυπική σύνταξη DAX και πλήρως προσδιορισμένη, που συνήθως αντιπροσωπεύει την πλευρά "ένα" ή την πλευρά αναζήτησης της σχέσης που θα χρησιμοποιηθεί. Εάν τα ορίσματα δοθούν με αντίστροφη σειρά, η συνάρτηση θα τα αλλάξει πριν τα χρησιμοποιήσει. Αυτό το όρισμα δεν μπορεί να είναι παράσταση.

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

Η συνάρτηση δεν επιστρέφει καμία τιμή. Η συνάρτηση ενεργοποιεί μόνο την υποδεικνυόμενη σχέση για τη διάρκεια του υπολογισμού.

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

  • Η USERELATIONSHIP μπορεί να χρησιμοποιηθεί μόνο σε συναρτήσεις που λαμβάνουν ένα φίλτρο ως όρισμα, για παράδειγμα τις συναρτήσεις: CALCULATE, CALCULATETABLE, CLOSINGBALANCEMONTH, CLOSINGBALANCEQUARTER, CLOSINGBALANCEYEAR, OPENINGBALANCEMONTH, OPENINGBALANCEQUARTER, OPENINGBALANCEYEAR, TOTALMTD, TOTALQTD και TOTALYTD.

  • Η USERELATIONSHIP δεν μπορεί να χρησιμοποιηθεί όταν έχει οριστεί ασφάλεια σε επίπεδο γραμμών για τον πίνακα στον οποίο περιλαμβάνεται η μέτρηση. Για παράδειγμα, CALCULATE(SUM([SalesAmount]), USERELATIONSHIP(FactInternetSales[CustomerKey], DimCustomer[CustomerKey])) η συνάρτηση θα επιστρέψει ένα σφάλμα εάν έχει οριστεί ασφάλεια σε επίπεδο γραμμών για το DimCustomer.

  • Η USERELATIONSHIP χρησιμοποιεί υπάρχουσες σχέσεις στο μοντέλο, προσδιορίζοντας σχέσεις με βάση τις στήλες τελικού σημείου τους.

  • Στη USERELATIONSHIP, η κατάσταση μιας σχέσης δεν είναι σημαντική. δηλαδή, αν η σχέση είναι ενεργή ή όχι δεν επηρεάζει τη χρήση της συνάρτησης. Ακόμα και αν η σχέση είναι ανενεργή, θα χρησιμοποιηθεί και θα παρακάμπτει οποιεσδήποτε άλλες ενεργές σχέσεις που μπορεί να υπάρχουν στο μοντέλο, αλλά δεν αναφέρονται στα ορίσματα της συνάρτησης.

  • Επιστρέφεται ένα σφάλμα εάν οποιαδήποτε από τις στήλες που ονομάζονται ως όρισμα δεν αποτελεί μέρος μιας σχέσης ή τα ορίσματα ανήκουν σε διαφορετικές σχέσεις.

  • Εάν απαιτούνται πολλές σχέσεις για τη σύνδεση του πίνακα Α στον πίνακα Β σε έναν υπολογισμό, κάθε σχέση πρέπει να υποδεικνύεται σε διαφορετική συνάρτηση USERELATIONSHIP.

  • Εάν οι παραστάσεις CALCULATE είναι ένθετες και περισσότερες από μία παραστάσεις CALCULATE περιέχουν μια συνάρτηση USERELATIONSHIP, τότε η εσωτερική USERELATIONSHIP είναι εκείνη που επικρατεί σε περίπτωση διένεξης ή ασάφειας.

  • Μπορούν να ενσωματωθούν έως 10 συναρτήσεις USERELATIONSHIP. Ωστόσο, η παραστάσεις μπορεί να έχει ένα βαθύτερο επίπεδο ένθεσης, δηλαδή. Το παρακάτω δείγμα παράστασης έχει βάθος ένθεσης 3 επιπέδων, αλλά μόνο 2 για τη USERELATIONSHIP: =CALCULATE(CALCULATE( CALCULATE( <anyExpression>, USERELATIONSHIP( t1[colA], t2[colB])), t99[colZ]=999), USERELATIONSHIP( t1[colA], t2[colA])).

  • Για σχέσεις 1 προς 1, η USERELATIONSHIP θα ενεργοποιήσει τη σχέση μόνο προς μία κατεύθυνση. Συγκεκριμένα, τα φίλτρα θα μπορούν να ρέουν μόνο από τον πίνακα του columnName2 στον πίνακα columnName1. Εάν είναι επιθυμητό το διασταυρούμενο φιλτράρισμα αμφίδρομης κατεύθυνσης, στον ίδιο υπολογισμό μπορούν να χρησιμοποιηθούν δύο USERELATIONSHIPs με αντίθετη κατεύθυνση. Για παράδειγμα, CALCULATE(..., USERELATIONSHIP(T1[K], T2[K]), USERELATIONSHIP(T2[K], T1[K])).

Παράδειγμα

Το παρακάτω δείγμα δείχνει πώς μπορείτε να παρακάμψετε την προεπιλεγμένη, ενεργή, σχέση μεταξύ των πινάκων InternetSales και DateTime. Η προεπιλεγμένη σχέση υπάρχει μεταξύ της στήλης OrderDate, στον πίνακα InternetSales και της στήλης Date, στον πίνακα DateTime.

Για να υπολογίσετε το άθροισμα των πωλήσεων Internet και να επιτρέψετε τη ανάλυση κατά ShippingDate αντί για την παραδοσιακή OrderDate, δημιουργήστε τη μέτρηση, [InternetSales κατά ShippingDate] χρησιμοποιώντας την ακόλουθη παράσταση:

= CALCULATE(SUM(InternetSales[SalesAmount]), USERELATIONSHIP(InternetSales[ShippingDate], DateTime[Date]))  

Οι σχέσεις μεταξύ του InternetSales[ShipmentDate] και του DateTime[Date] πρέπει να υπάρχουν και δεν πρέπει να είναι η ενεργή σχέση. επίσης, η σχέση μεταξύ του InternetSales[OrderDate] και του DateTime[Date] πρέπει να υπάρχει και θα πρέπει να είναι η ενεργή σχέση.