Μπορείτε να χρησιμοποιήσετε εκφράσεις υπό συνθήκες για να δημιουργήσετε εκφράσεις που μετατρέπουν τιμές.
Οι εκφράσεις υπό συνθήκες που περιγράφονται σε αυτήν την ενότητα είναι δομικά στοιχεία για τη δημιουργία εκφράσεων που μετατρέπουν μια τιμή από μια μορφή σε μια άλλη.
Ακολουθήστε αυτούς τους κανόνες:
CASE
, το AND
προηγείται έναντι του OR
.Έκφραση | Παράδειγμα | Περιγραφή | Σύνταξη |
---|---|---|---|
CASE (If) |
|
Αξιολογεί κάθε συνθήκη Εάν καμία από τις εκφράσεις Σημείωση: Ανατρέξτε στην ενότητα Βέλτιστες πρακτικές για χρήση προτάσεων CASE στις Αναλύσεις και τις Απεικονίσεις. |
|
CASE (Switch) |
|
Αναφέρεται επίσης ως Εάν καμία από τις εκφράσεις Εάν η πρώτη έκφραση συμφωνεί με μια έκφραση σε πολλαπλές φράσεις |
|
IfCase > ELSE |
- |
- |
|
IfCase > IFNULL |
- |
- |
|
IfCase > NULLIF |
- |
- |
|
IfCase > WHEN |
- |
- |
|
IfCase > CASE |
- |
- |
|
SwitchCase > ELSE |
- |
- |
|
SwitchCase >IFNULL |
- |
- |
|
SwitchCase > NULLIF |
- |
- |
|
SwitchCase > WHEN |
- |
- |
|
Όταν χρησιμοποιείτε προτάσεις CASE σε αναφορές και βιβλία εργασίας, πρέπει να λαμβάνετε υπόψη τις στήλες αναφοράς και τη σειρά συνάθροισης, καθώς επηρεάζουν τον τρόπο υπολογισμού των εκφράσεων και των υποσυνόλων.
Γενικά, όταν χρησιμοποιείτε παραστάσεις CASE, βεβαιωθείτε ότι τυχόν στήλες που χρησιμοποιούνται στην παράσταση περιλαμβάνονται στην αναφορά.
Αν μια συνθήκη πρέπει να αξιολογηθεί πριν από τον υπολογισμό της συνάθροισης (για παράδειγμα, αν η στήλη που φιλτράρεται δεν εμφανίζεται στην αναφορά), χρησιμοποιήστε τη συνάρτηση FILTER.
Παράδειγμα
Αυτό το παράδειγμα χρησιμοποιεί δεδομένα για την Επωνυμία, τον Τύπο προϊόντος και τα Έσοδα.
.png''
Για να εφαρμόσετε μια συνθήκη για τον ορισμό των εσόδων από κάμερες με την τιμή 0, δημιουργήστε την ακόλουθη έκφραση υπό συνθήκη: CASE WHEN Product_Type = ‘Camera’ THEN 0 ELSE Revenue END
.
Όταν το Product_Type εξαιρείται από την αναφορά, δεν υπάρχουν διαθέσιμα δεδομένα για την αξιολόγηση της έκφρασης, αφού αυτή περιέχει το Product_Type. Τα αποτελέσματα είναι:
.png''
Προσθέτοντας το PRODUCT_TYPE στην αναφορά και ρυθμίζοντας τη συνάθροιση αναφοράς σε SUM, το αποτέλεσμα συγκεντρώνεται μετά τον υπολογισμό των τιμών βασικού επιπέδου:
.png''
Μια εναλλακτική λύση στη χρήση του CASE είναι η χρήση μιας παράστασης φίλτρου: FILTER(Revenue using Product_Type != ‘Camera’). Η παράσταση υπολογίζεται ανεξάρτητα από τις στήλες αναφοράς και οι συγκεντρώσεις εφαρμόζονται μετά τον υπολογισμό:
.png''