Πληροφορίες για τα φίλτρα

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

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

Ο δικός σας ρόλος ασφαλείας καθορίζει εάν θα μπορείτε να δημιουργείτε, να αντιστοιχίζετε, να επεξεργάζεστε, να αντιγράφετε, να μετονομάζετε ή να διαγράφετε φίλτρα:

  • Εάν διαθέτετε το ρόλο Υπεύθυνος διαχείρισης εφαρμογής, μπορείτε να διαχειρίζεστε οποιοδήποτε φίλτρο για οποιονδήποτε χρήστη ή ομάδα. Τα φίλτρα δεν σας επηρεάζουν.
  • Εάν διαθέτετε το ρόλο Ενημέρωση βάσης δεδομένων, μπορείτε να διαχειρίζεστε φίλτρα για τις εφαρμογές που έχετε δημιουργήσει.
  • Εάν διαθέτετε το ρόλο Υπεύθυνος διαχείρισης βάσης δεδομένων, μπορείτε να διαχειρίζεστε φίλτρα εντός των εφαρμογών ή των κύβων σας.
  • Εάν διαθέτετε το ρόλο Πρόσβαση σε βάση δεδομένων (προεπιλογή), έχετε πρόσβαση για ανάγνωση στις τιμές δεδομένων σε όλα τα κελιά, εκτός εάν η πρόσβασή σας περιορίζεται περαιτέρω από φίλτρα.

Δημιουργία φίλτρων

Μπορείτε να δημιουργήσετε πολλά φίλτρα για έναν κύβο. Εάν επεξεργαστείτε ένα φίλτρο, οι τροποποιήσεις που γίνονται στον ορισμό του κληρονομούνται από όλους τους χρήστες αυτού του φίλτρου.

Ανατρέξτε στην ενότητα Έλεγχος της πρόσβασης σε κελιά βάσης δεδομένων με χρήση φίλτρων ασφάλειας.

  1. Μεταβείτε στη λειτουργία επεξεργασίας φίλτρων.

    Στο περιβάλλον εργασίας Redwood:

    1. Στη σελίδα "Εφαρμογές", ανοίξτε την εφαρμογή και κατόπιν ανοίξτε τη βάση δεδομένων (κύβο).
    2. Κάντε κλικ στην επιλογή Προσαρμογή και έπειτα στην επιλογή Φίλτρα.

    Στο Κλασικό περιβάλλον εργασίας web:

    1. Στη σελίδα "Εφαρμογές" αναπτύξτε την εφαρμογή.
    2. Από το μενού "Ενέργειες", στα δεξιά του ονόματος κύβου, κάντε έναρξη του εργαλείου επιθεώρησης.
    3. Επιλέξτε την καρτέλα "Φίλτρα" .
  2. Κάντε κλικ στην επιλογή Προσθήκη.
  3. Εισαγάγετε ένα όνομα φίλτρου στο πλαίσιο κειμένου "Όνομα φίλτρου" .
  4. Στη λειτουργία επεξεργασίας φίλτρων, κάντε κλικ στην Προσθήκη.
  5. στην ενότητα "Πρόσβαση", κάντε κλικ και χρησιμοποιήστε το αναπτυσσόμενο μενού για να επιλέξετε ένα επίπεδο πρόσβασης.
    • Κανένα: Δεν είναι δυνατή η ανάκτηση ή η ενημέρωση δεδομένων

    • Ανάγνωση: Είναι δυνατή η ανάκτηση δεδομένων αλλά όχι η ενημέρωση δεδομένων

    • Εγγραφή: Είναι δυνατή η ανάκτηση και η ενημέρωση δεδομένων

    • MetaRead: Είναι δυνατή η ανάκτηση και η ενημέρωση μεταδεδομένων (ονόματα διαστάσεων και μελών)

      Το επίπεδο πρόσβασης MetaRead αντικαθιστά όλα τα άλλα επίπεδα πρόσβασης. Επιβάλλονται πρόσθετα φίλτρα δεδομένων εντός των υπαρχόντων φίλτρων MetaRead. Το φιλτράρισμα σε συνδυασμούς μελών (με χρήση σχέσεων AND) δεν ισχύει για το επίπεδο πρόσβασης MetaRead. Το επίπεδο πρόσβασης MetaRead φιλτράρει κάθε μέλος ξεχωριστά (χρησιμοποιώντας μια σχέση OR).

  6. Επιλέξτε τη σειρά κάτω από το στοιχείο Καθορισμός μελών και εισαγάγετε ονόματα μελών. Στη συνέχεια, κάντε κλικ στην επιλογή Υποβολή Εικόνα του εικονιδίου υποβολής φίλτρου στο Redwood..

    Μπορείτε να φιλτράρετε τα μέλη ξεχωριστά ή να φιλτράρετε συνδυασμούς μελών. Καθορίστε ονόματα διαστάσεων ή μελών, ονόματα ψευδωνύμων, συνδυασμούς μελών, σύνολα μελών που ορίζονται από συναρτήσεις ή ονόματα μεταβλητών υποκατάστασης με το χαρακτήρα & στην αρχή. Διαχωρίστε τις καταχωρήσεις με κόμματα.

  7. Δημιουργήστε πρόσθετες σειρές για το φίλτρο, όπως απαιτείται.

    Εάν οι σειρές φίλτρου επικαλύπτονται ή έχουν διένεξη, οι πιο λεπτομερείς προδιαγραφές περιοχών κύβου εφαρμόζονται αντί για τις λιγότερο λεπτομερείς και τα πιο επιτρεπτά δικαιώματα πρόσβασης εφαρμόζονται αντί για τα λιγότερο επιτρεπτά. Για παράδειγμα, εάν παρέχετε σε ένα χρήστη δικαίωμα για Ανάγνωση στα στοιχεία "Πραγματικά" και δικαίωμα για Εγγραφή στα στοιχεία "Ιαν.", ο χρήστης θα έχει πρόσβαση για εγγραφή στα στοιχεία "Πραγματικά-Ιαν.".

  8. Πατήστε "Επικύρωση" για να διασφαλίσετε ότι το φίλτρο είναι έγκυρο.
  9. Κάντε κλικ στην επιλογή "Αποθήκευση".

Για να επεξεργαστείτε ένα φίλτρο στο περιβάλλον εργασίας Redwood, εντοπίστε την καρτέλα "Φίλτρα" επιλέγοντας τον κύβο και κατόπιν επιλέγοντας τη σελίδα "Προσαρμογή". Στη συνέχεια, επεξεργαστείτε ένα φίλτρο κάνοντας κλικ στο όνομα φίλτρου και κάνοντας τις αλλαγές σας στη λειτουργία επεξεργασίας φίλτρων. Για να επεξεργαστείτε μια υπάρχουσα σειρά, κάντε διπλό κλικ στη συγκεκριμένη σειρά.

Για να επεξεργαστείτε ένα φίλτρο στο Κλασικό περιβάλλον εργασίας web, μεταβείτε στην καρτέλα "Φίλτρα" του εργαλείου επιθεώρησης και επεξεργαστείτε το φίλτρο κάνοντας κλικ στο όνομα φίλτρου και κάνοντας τις αλλαγές σας στη λειτουργία επεξεργασίας φίλτρων.

Μπορείτε να αντιγράψετε, να μετονομάσετε ή να διαγράψετε ένα φίλτρο κάνοντας κλικ στο μενού "Ενέργειες" στα δεξιά του ονόματος φίλτρου και ορίζοντας μια επιλογή.

Μετά τη δημιουργία φίλτρων, κάντε ανάθεση σε χρήστες ή ομάδες.

Δημιουργία αποδοτικών δυναμικών φίλτρων

Μπορείτε να δημιουργήσετε δυναμικά φίλτρα βάσει δεδομένων εξωτερικής προέλευσης, για να περιορίσετε τον αριθμό των απαιτούμενων ορισμών φίλτρων.

Αντί να διαχειρίζεστε ένα σύνολο φίλτρων πρόσβασης σε δεδομένα για πολλούς χρήστες, που είναι προγραμματισμένα στον κώδικα, μπορείτε να φιλτράρετε την πρόσβαση σε κελιά κύβων από δεδομένα εξωτερικής προέλευσης, με βάση τα ονόματα μελών και χρηστών.
Αυτό το κάνετε χρησιμοποιώντας σύνταξη ορισμών δυναμικών φίλτρων, συμπεριλαμβανομένης της μεθόδου @datasourceLookup και των μεταβλητών $LoginUser και $LoginGroup. Τα δεδομένα εξωτερικής προέλευσης είναι ένα αρχείο csv ή ένας σχεσιακός πίνακας. Για τα σχεσιακά δεδομένα προέλευσης, μπορείτε να φορτώσετε το αρχείο .csv σε έναν σχεσιακό πίνακα.

Δυναμική σύνταξη φίλτρων

Χρησιμοποιήστε τη δυναμική σύνταξη φίλτρων, για να δημιουργήσετε ευέλικτα φίλτρα που μπορείτε να αντιστοιχίσετε σε πολλούς χρήστες και ομάδες.

Οι σειρές φίλτρου μπορούν να περιλαμβάνουν τα ακόλουθα στοιχεία ως τμήμα του ορισμού τους, επιπλέον των εκφράσεων μελών.

$loginuser

Αυτή η μεταβλητή αποθηκεύει την τιμή του τρέχοντος συνδεδεμένου χρήστη κατά τον χρόνο εκτέλεσης. Μπορεί να χρησιμοποιηθεί σε συνδυασμό με τη μέθοδο @datasourcelookup .

$logingroup

Αυτή η μεταβλητή αποθηκεύει την τιμή όλων των ομάδων στις οποίες ανήκει ο τρέχων συνδεδεμένος χρήστης. Περιλαμβάνει άμεσες και έμμεσες ομάδες. Όταν χρησιμοποιείται σε συνδυασμό με τη μέθοδο @datasourcelookup , γίνεται αναζήτηση κάθε ομάδας μεμονωμένα στην προέλευση δεδομένων.

@datasourcelookup

Αυτή η μέθοδος ανακτά εγγραφές από μια προέλευση δεδομένων.

Σύνταξη

@datasourcelookup (dataSourceName, columnName, columnValue, returnColumnName)
Παράμετρος Περιγραφή
dataSourceName

Το όνομα της εξωτερικής προέλευσης δεδομένων όπως ορίζεται στο Essbase. Για μια προέλευση δεδομένων επιπέδου εφαρμογής, τοποθετήστε ένα πρόθεμα με το όνομα της εφαρμογής και μια τελεία.

columnName

Το όνομα της στήλης προέλευσης δεδομένων για αναζήτηση ενός δεδομένου columnValue.

columnValue

Η τιμή αναζήτησης στο columnName.

returnColumnName

Το όνομα της στήλης προέλευσης δεδομένων από όπου επιστρέφει η λίστα τιμών.

Περιγραφή

Μια κλήση @datasourcelookup ισοδυναμεί με το ακόλουθο ερώτημα SQL:

select returnColumnName from dataSourceName where columnName=columnValue

Το @datasourcelookup εκτελεί αναζήτηση στη δεδομένη προέλευση δεδομένων για τις εγγραφές όπου το columnName περιέχει columnValue. Εάν καθορίσετε το columnValue ως $loginuser, αυτή η μέθοδος θα αναζητήσει εγγραφές όπου το columnName περιέχει το όνομα χρήστη του ήδη συνδεδεμένου χρήστη.

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

Παραδείγματα

Περικλείστε τις παραμέτρους με διπλά εισαγωγικά.

Η παρακάτω κλήση εκτελεί αναζήτηση σε μια καθολική προέλευση δεδομένων και επιστρέφει μια λίστα με ονόματα καταστημάτων όπου η Mary είναι υπεύθυνη καταστήματος.

@datasourceLookup("StoreManagersDS","STOREMANAGER","Mary","STORE")

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

@datasourceLookup("Sample.StoreManagersDS","STOREMANAGER","$loginuser","STORE")

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

@datasourceLookup("Sample.StoreManagersDS","STORE_DEPARTMENT","$logingroup","STORE")

Εάν ο συνδεδεμένος χρήστης ανήκει σε 3 ομάδες, τότε η παραπάνω μέθοδος @datasourcelookup επιστρέφει όλες τις αντίστοιχες τιμές στήλης για κάθε ομάδα.

Ροή εργασίας για δημιουργία δυναμικών φίλτρων

Χρησιμοποιήστε την ακόλουθη γενική ροή εργασίας για τη δημιουργία δυναμικών φίλτρων.

Αυτή η ροή εργασίας δυναμικών φίλτρων υποθέτει ότι έχετε ήδη έναν κύβο και έχετε εκχωρήσει χρήστες και ομάδες.

  1. Υποδείξτε μια προέλευση δεδομένων, είτε είναι αρχείο είτε σχεσιακή προέλευση.
  2. Προσδιορίστε τη σύνδεση και την προέλευση δεδομένων στο Essbase, είτε καθολικά είτε σε επίπεδο εφαρμογής.
  3. Δημιουργήστε φίλτρα στο επίπεδο κύβου,
    • Στο περιβάλλον εργασίας Redwood , μεταβείτε στον κύβο, επιλέξτε Προσαρμογή και κατόπιν επιλέξτε Φίλτρα.
    • Στο Κλασικό περιβάλλον εργασίας web, χρησιμοποιήστε την ενότητα Φίλτρα του εργαλείου επιθεώρησης βάσεων δεδομένων.

  4. Ορίστε σειρές φίλτρων για κάθε φίλτρο, χρησιμοποιώντας τη δυναμική σύνταξη φίλτρων για να εφαρμοστεί η μεταβλητή $loginuser , η μεταβλητή $logingroup και η μέθοδος @datasourcelookup , όπως απαιτείται.
  5. Αντιστοιχίστε τα φίλτρα σε χρήστες ή ομάδες.
  6. Αν αντιστοιχίσατε το φίλτρο σε μια ομάδα, αντιστοιχίστε την ομάδα στην εφαρμογή προς φιλτράρισμα,
    • Στο περιβάλλον εργασίας Redwood , μεταβείτε στην εφαρμογή, επιλέξτε Προσαρμογή και κατόπιν επιλέξτε Δικαιώματα.
    • Στο Κλασικό περιβάλλον εργασίας web, χρησιμοποιήστε την ενότητα Δικαιώματα του εργαλείου επιθεώρησης εφαρμογών.

Παράδειγμα δυναμικού φίλτρου

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


Δυναμικό φίλτρο με τρεις σειρές που εκχωρεί πρόσβαση metaread στον συνδεδεμένο χρήστη.

Για να μάθετε πώς να δημιουργήσετε και να εφαρμόσετε αυτό το δυναμικό φίλτρο, πραγματοποιήστε λήψη του προτύπου βιβλίου εργασίας, Efficient_Filters.xlsx, από την ενότητα "Τεχνικά" της συλλογής, και ακολουθήστε τις οδηγίες του αρχείου README στο βιβλίο εργασίας. Η συλλογή είναι διαθέσιμη στην ενότητα "Αρχεία" του περιβάλλοντος εργασίας web του Essbase.