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


Εικονικός πίνακας

Παρουσιάζει έναν ορισμό εικονικού πίνακα σε μια πρόταση DEFINE ενός ερωτήματος DAX.

Σύνταξη

[DEFINE 
    (
      TABLE <table name> = <table expression>
        [WITH VISUAL SHAPE
          (AXIS <axis name>
            (GROUP <column>[, <column>] + TOTAL <column>) +
            ORDER BY <column>[, <column>] +
          ) +
          [DENSIFY <string literal>]
        ]
    ) + 
]

(EVALUATE <table expression>) +

Παραμέτρους

Η παράσταση πίνακα ορίζει το περιεχόμενο του εικονικού πίνακα. Ο εικονικός πίνακας ορίζεται μόνο στην εμβέλεια του τρέχοντος ερωτήματος.

Προαιρετικά, μπορεί να οριστεί ένα σχήμα απεικόνισης στον εικονικό πίνακα. Το σχήμα απεικόνισης χρησιμοποιείται για υπολογισμό απεικόνισης. Ένα σχήμα απεικόνισης αποτελείται από άξονες με προαιρετικά μια δυαδική στήλη DENSIFY.

Ο Άξονας ορίζεται ως μια λίστα ομάδων συνάθροισης ακολουθούμενη από μια λίστα ταξινόμησης κατά στήλες για τον καθορισμό του τρόπου ταξινόμησης του άξονα. Μια ομάδα συνάθροισης αποτελείται από μία ή περισσότερες στήλες ομαδοποίησης κατά και, στη συνέχεια, μία δυαδική στήλη TOTAL που υποδεικνύει εάν κάθε γραμμή είναι μερικό άθροισμα της τρέχουσας ομάδας συνάθροισης. FALSE τιμή υποδεικνύει ότι η τρέχουσα γραμμή είναι γραμμή λεπτομερειών (ομαδοποίηση κατά τρέχουσα ομάδα συνάθροισης). TRUE τιμή υποδεικνύει ότι η τρέχουσα γραμμή συναθροίζεται (όχι ομαδοποίηση κατά τρέχουσα ομάδα συνάθροισης).

Εάν ζητηθεί στήλη DENSIFY, τότε το σχήμα απεικόνισης εκτελεί αποκήρυξη. Αυτό σημαίνει ότι εκτός από τις γραμμές από την αρχική παράσταση πίνακα, προσθέτουμε επίσης συνδυασμό τιμών αξόνων που δεν υπάρχουν στην αρχική παράσταση πίνακα. Με άλλα λόγια, θα κάνουμε έναν αριστερό εξωτερικό σύνδεσμο από τη διασταυρούμενη ένωση των αξόνων με την αρχική παράσταση πίνακα. Μια TRUE τιμή στη στήλη DENSIFY υποδεικνύει ότι η τρέχουσα γραμμή δεν βρίσκεται στην αρχική παράσταση πίνακα και προστίθεται από τη διαδικασία αποκανοοποίησης. Αυτή η γραμμή θα πρέπει να έχει κενή τιμή σε όλες τις στήλες μέτρησης (στήλες εκτός των ορισμών αξόνων). Μια FALSE τιμή στη στήλη DENSIFY υποδεικνύει ότι η τρέχουσα γραμμή προέρχεται από την αρχική παράσταση πίνακα.

Τιμή επιστροφής

Έχει οριστεί ένας εικονικός πίνακας

Παρατήρηση

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

Παράδειγμα

Ας υποθέσουμε ότι ένας πίνακας T έχει τις εξής γραμμές:

Έτος Προϊόν SalesAmount
2000 Μήλο $ 10.1
2000 Μπανάνα $ 10.2
2001 Μήλο $ 20.3
DEFINE TABLE data = SUMMARIZECOLUMNS(ROLLUPADDISSUBTOTAL(T[Year], "IsYearTotal"), ROLLUPADDISSUBTOTAL(T[Product], "IsProductTotal"), "Meausre", SUM(T[SalesAmount]))
  WITH VISUAL SHAPE
    AXIS ROWS GROUP [Year] TOTAL [IsYearTotal] ORDER BY [Year]
    AXIS COLUMNS GROUP [Product] TOTAL [IsProductTotal] ORDER BY [Product]
    DENSIFY "IsDensified"
EVALUATE data

Το αποτέλεσμα που επιστρέφεται είναι

data[Year] data[Product] data[IsYearTotal] data[IsProductTotal] data[Measure] data[IsDensified]
πιστός πιστός $ 40.6 ψεύτικος
2000 ψεύτικος πιστός $ 20.3 ψεύτικος
2001 ψεύτικος πιστός $ 20.3 ψεύτικος
Μήλο πιστός ψεύτικος $ 30.4 ψεύτικος
2000 Μήλο ψεύτικος ψεύτικος $ 10.1 ψεύτικος
2001 Μήλο ψεύτικος ψεύτικος $ 20.3 ψεύτικος
Μπανάνα πιστός ψεύτικος $ 10.2 ψεύτικος
2000 Μπανάνα ψεύτικος ψεύτικος $ 10.2 ψεύτικος
2001 Μπανάνα ψεύτικος ψεύτικος πιστός