Ακολουθήστε τις πληροφορίες που περιγράφονται εδώ για να μάθετε σχετικά με την ενσωμάτωση και την εκτέλεση ενεργειών δεδομένων σε μια απεικόνιση εντός εξωτερικών κοντέινερ, όπως μια σελίδα HTML ή μια ιστοσελίδα εφαρμογής.
Σημείωση:
Τα παραδείγματα σε αυτήν την ενότητα ισχύουν για ενσωματωμένες ενέργειες δεδομένων όταν η εφαρμογή ενσωμάτωσης δεν χρησιμοποιεί τεχνολογία Oracle JET. Βλ.:Εκτέλεση ενεργειών δεδομένων
Όταν κάνετε κλικ σε μια ενέργεια δεδομένων Δημοσίευση συμβάντος, αυτή προσδιορίζει τις πληροφορίες περιβάλλοντος για την απεικόνιση και μεταβιβάζει αυτές τις πληροφορίες στην υπηρεσία ενέργειας πλοήγησης για να τις επεξεργαστεί. Η διαδικασία υπηρεσίας για την ενέργεια πλοήγησης ενεργοποιεί ένα συμβάν που ονομάζεται "oracle.bitech.dataaction" με τις πληροφορίες ωφέλιμου φορτίου περιβάλλοντος. Μπορείτε να εγγραφείτε σε αυτό το συμβάν και να λαμβάνετε το ωφέλιμο φορτίο στην επανάκληση του συμβάντος καθώς και να χρησιμοποιείτε περαιτέρω το ωφέλιμο φορτίο όπως απαιτείται.
Η ακόλουθη απεικόνιση παρουσιάζει τα έσοδα (σε δολάρια) για τους τύπους επιχειρηματικής δραστηριότητας (π.χ. Επικοινωνίες, Ψηφιακά προϊόντα, Ηλεκτρονικά προϊόντα) σε διάφορους οργανισμούς, όπως Οργανισμός franchise, Οργανισμός εισερχομένων, Διεθνής οργανισμός.
Μορφή και περιβάλλον συμβάντος και ωφέλιμου φορτίου
Το ακόλουθο παράδειγμα παρουσιάζει τη δημοσίευση ενός συμβάντος όταν η ενσωματωμένη ενέργεια δεδομένων καλείται από ένα ή περισσότερα κελιά δεδομένων στα οποία έχει γίνει δεξί κλικ και επιλογή της ενέργειας δεδομένων από το μενού που εμφανίζεται στο ενσωματωμένο βιβλίο εργασίας.
Τα παρακάτω παραδείγματα προέρχονται από ένα αρχείο JSON, για παράδειγμα, obitech-cca/cca/component.json
.
Μορφή συμβάντος
"events": { "oracle.bitech.dataaction": { "description": "Generic DV Event published from an embedded data visualization.", "bubbles": true, "cancelable": false, "detail": { "eventName": { "description": "The name of the published BI Event", "type": "string" }, "payload": { "description": "The payload contains context and related information to the event published", "type": "object" } } }
Μορφή ωφέλιμου αρχείου
{"context":[ "or": [ "and":[ {"contextParamValues":[...], "contextParamValuesKeys":[...], "colFormula":"...", "displayName":"...", "isDoubleColumn":true/false, "dataType":"..." } ] ] ] }
Μεταβίβαση μίας μεμονωμένης τιμής για μια μεμονωμένη στήλη στο Περιβάλλον μεταβίβασης
Σε αυτό το παράδειγμα, όταν κάνετε κλικ σε ένα κελί στήλης, ένα αντικείμενο με πληροφορίες περιβάλλοντος για τη στήλη μεταβιβάζεται στο εξωτερικό κοντέινερ. Σε αυτήν την περίπτωση, μεταβιβάζεται το όνομα οργανισμού.
{ "context": [ { "contextParamValues": [ "Inbound Org." ], "contextParamValuesKeys": [ "Inbound Org." ], "colFormula": "\"A - Sample Sales\".\"Offices\".\"D3 Organization\"", "displayName": "D3 Organization", "isDoubleColumn": false, "dataType": "varchar" } ] }
Μεταβίβαση μίας μεμονωμένης τιμής για κάθε στήλη στο Περιβάλλον μεταβίβασης
Σε αυτό το παράδειγμα, όταν κάνετε κλικ σε ένα κελί στήλης, για παράδειγμα, στον Οργανισμό εισερχομένων και στα Ψηφιακά προϊόντα, αυτό που μεταβιβάζεται όταν κάνετε κλικ στην επιλογή μενού "Ενσωματωμένο DA1" για να επιλέξετε την ενσωματωμένη ενέργεια είναι η τιμή εσόδων σε δολάρια για τον συγκεκριμένο τύπο επιχειρηματικής δραστηριότητας και οργανισμό. Για παράδειγμα, μεταβιβάζονται τα έσοδα για τα Ψηφιακά προϊόντα από τον Οργανισμό εισερχομένων, που είναι 1.458.738,42 δολάρια σε αυτό το παράδειγμα.
{ "context": [ { "contextParamValues": [ "Digital" ], "contextParamValuesKeys": [ "Digital" ], "colFormula": "\"A - Sample Sales\".\"Products\".\"P3 LOB\"", "displayName": "P3 LOB", "isDoubleColumn": false, "dataType": "varchar" }, { "contextParamValues": [ "Inbound Org." ], "contextParamValuesKeys": [ "Inbound Org." ], "colFormula": "\"A - Sample Sales\".\"Offices\".\"D3 Organization\"", "displayName": "D3 Organization", "isDoubleColumn": false, "dataType": "varchar" } ] }
Μεταβίβαση πολλαπλών τιμών στο Περιβάλλον μεταβίβασης
Σε αυτό το παράδειγμα, όταν κάνετε κλικ σε κελιά δύο στηλών (για παράδειγμα, στον Οργανισμό εισερχομένων και στον Διεθνή οργανισμό για τα Ψηφιακά προϊόντα) και κάνετε κλικ στην επιλογή μενού "Ενσωματωμένο DA1" για να επιλέξετε την ενσωματωμένη ενέργεια, αυτό που μεταβιβάζεται είναι η τιμή εσόδων σε δολάρια για τα δύο επιλεγμένα κελιά για τον επιχειρησιακό κλάδο και τον οργανισμό. Για παράδειγμα, κάνοντας κλικ στα έσοδα για τα Ψηφιακά προϊόντα από τους δύο επιλεγμένους οργανισμούς (Οργανισμό εισερχομένων και Διεθνή οργανισμό), μεταβιβάζονται οι τιμές 1.458.738,42 δολάρια και 915.528,97 δολάρια.
{ "context": [ { "or": [ { "and": [ { "contextParamValues": [ "Digital" ], "contextParamValuesKeys": [ "Digital" ], "colFormula": "\"A - Sample Sales\".\"Products\".\"P3 LOB\"", "displayName": "P3 LOB", "isDoubleColumn": false, "dataType": "varchar" }, { "contextParamValues": [ "Inbound Org." ], "contextParamValuesKeys": [ "Inbound Org." ], "colFormula": "\"A - Sample Sales\".\"Offices\".\"D3 Organization\"", "displayName": "D3 Organization", "isDoubleColumn": false, "dataType": "varchar" } ] }, { "and": [ { "contextParamValues": [ "Digital" ], "contextParamValuesKeys": [ "Digital" ], "colFormula": "\"A - Sample Sales\".\"Products\".\"P3 LOB\"", "displayName": "P3 LOB", "isDoubleColumn": false, "dataType": "varchar" }, { "contextParamValues": [ "International Org." ], "contextParamValuesKeys": [ "International Org." ], "colFormula": "\"A - Sample Sales\".\"Offices\".\"D3 Organization\"", "displayName": "D3 Organization", "isDoubleColumn": false, "dataType": "varchar" } ] } ] } ] }
Ακολουθήστε αυτά τα βήματα για την προβολή των ωφέλιμων φορτίων συμβάντων χρησιμοποιώντας τα εργαλεία του προγράμματος περιήγησης Chrome.
console.log("To view the payload, add a breakpoint on this line and use the browser tools debugger") ;
και επιλέξτε Add breakpoint (Προσθήκη σημείου διακοπής).
Όταν γίνεται κλήση της ενέργειας δεδομένων συμβάντος από τον ενσωματωμένο καμβά, μια καταχώριση ωφέλιμου φορτίου θα εμφανίζεται στην ενότητα Scope (Εύρος) στο δεξιό πλαίσιο των εργαλείων προγράμματος περιήγησης.
Μπορείτε να δείτε την καθολική μεταβλητή στην καρτέλα Console (Κονσόλα) και να την αναπτύξετε για την προβολή των λεπτομερειών του ωφέλιμου φορτίου.
Παράδειγμα σελίδας HTML με απεικόνιση που λαμβάνει συμβάντα
Το ακόλουθο δείγμα κώδικα δείχνει πώς να ορίσετε μια διεργασία ακρόασης συμβάντος για μια ενέργεια δεδομένων συμβάντος analytics. Πρέπει να ενημερώσετε το στιγμιότυπο analytics και την ενσωματωμένη διαδρομή βιβλίου εργασίας σε αυτό το δείγμα κώδικα. Στο βιβλίο εργασίας πρέπει να έχει οριστεί μια ενέργεια δεδομένων συμβάντος. Το συμβάν για το οποίο γίνεται ακρόαση καλείται oracle.bitech.dataaction
. Όταν το συμβάν πυροδοτηθεί, ένα μήνυμα αποστέλλεται στην κονσόλα.
<!DOCTYPE HTML> <html dir="ltr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Oracle Analytics embed example to view data action event payload</title> <meta id="viewport" name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <script src="https://<OAC-INSTANCE>.analytics.ocp.oraclecloud.com/public/dv/v1/embedding/standalone/embedding.js" type="application/javascript"> </script> </head> <body> <h1>Oracle Analytics embed example to view data action event payload</h1> <div id="mydiv" style="position: absolute; width: calc(100% - 40px); height: calc(100% - 120px)" > <oracle-dv project-path='<WORKBOOK-PATH-TO-EMBED>' active-page='insight' active-tab-id='snapshot!canvas!1'> </oracle-dv> </div> <script> requirejs(['knockout', 'ojs/ojcore', 'ojs/ojknockout', 'ojs/ojcomposite', 'jet-composites/oracle-dv/loader'], function(ko) { ko.applyBindings(); }); </script> <script> var eventName = 'oracle.bitech.dataaction'; var element = document.getElementById("mydiv"); if (element) { var oEventListener = element.addEventListener(eventName, function (e) { console.log("***** Payload from DV sent ***** "); console.log("eventName = " + e.detail.eventName); console.log("To view the payload, add a breakpoint on this line and use the browser tools debugger") ; console.log("******************************** "); }, true); } </script> </body> </html>
Μπορείτε επίσης να τροποποιήσετε την ενότητα <script>
στο προηγούμενο δείγμα κώδικα για την επιστροφή των τιμών στις οποίες κλήθηκε η ενέργεια δεδομένων:
<script> var eventName = 'oracle.bitech.dataaction'; var element = document.getElementById("mydiv"); if (element) { var oEventListener = element.addEventListener(eventName, function (e) { console.log("***** Payload from DV sent ***** "); console.log("eventName = " + e.detail.eventName); console.log("To view the payload, add a breakpoint on this line and use the browser tools debugger") ; console.log("******************************** "); var res = " Data Received from DV Content: "; // Get the values of the row from where data action was invoked Object.keys(e.detail.payload.context).forEach(function(key) { res = res.concat(key); res = res.concat(" : "); var temp = e.detail.payload.context[key]["oValueMap"]; var temp1 = Object.keys(temp)[0]; res = res.concat(temp1); res = res.concat(" | "); }); console.log("Data Action Row Context : " + res); }, true); } </script>