Slijedite ovdje opisane informacije kako biste saznali više o ugrađivanju i izvođenju podatkovnih akcija u vizualizaciji unutar vanjskih spremnika kao što su HTML stranica ili web-stranica aplikacije.
Bilješka:
Primjeri u ovom odjeljku odnose se na ugrađene akcije za podatke kad aplikacija za ugradnju ne upotrebljava tehnologiju Oracle JET. Pogledajte:Izvršavanje akcija za podatke
Kad pritisnete akciju za podatke Objavi događaj, odredit će se informacije o kontekstu za vizualizaciju i te će se informacije proslijediti servisu navigacijske akcije na obradu. Proces servisa za navigacijsku akciju pokrenut će događaj pod nazivom “oracle.bitech.dataaction” s informacijama o kontekstu korisnog opterećenja. Možete se predbilježiti na taj događaj i korisno opterećenje primati u povratnom pozivu događaja te po potrebi možete dodatno iskoristiti korisno opterećenje.
Sljedeća vizualizacija prikazuje prihod (u dolarima) za linije poslovanja (na primjer, Communication, Digital, Electronics) i organizacije (na primjer, Franchises Org, Inbound Org, International Org).
Format i kontekst događaja i korisnog opterećenja
Sljedeći primjer demonstrira objavljivanje događaja kad ugrađenu akciju za podatke pozove jedna ili više podatkovnih ćelija koje su pritisnute desnom tipkom miša i kad je akcija za podatke odabrana na izborniku koji se prikazuje u ugrađenoj radnoj knjizi.
U nastavku su navedeni primjeri iz JSON datoteke, na primjer, obitech-cca/cca/component.json
.
Format događaja
"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" } } }
Format korisnog opterećenja
{"context":[ "or": [ "and":[ {"contextParamValues":[...], "contextParamValuesKeys":[...], "colFormula":"...", "displayName":"...", "isDoubleColumn":true/false, "dataType":"..." } ] ] ] }
Prosljeđivanje jedne vrijednosti za jedan stupac u kontekstu prosljeđivanja
Kad u ovom primjeru pritisnete ćeliju stupca, objekt s informacijama o kontekstu stupca proslijedit će se u vanjski spremnik. U ovom slučaju prosljeđuje se naziv organizacije.
{ "context": [ { "contextParamValues": [ "Inbound Org." ], "contextParamValuesKeys": [ "Inbound Org." ], "colFormula": "\"A - Sample Sales\".\"Offices\".\"D3 Organization\"", "displayName": "D3 Organization", "isDoubleColumn": false, "dataType": "varchar" } ] }
Prosljeđivanje jedne vrijednosti za svaki stupac u kontekstu prosljeđivanja
U ovom primjeru, kad pritisnete ćeliju stupca, na primjer, ulaznu organizaciju i digitalne proizvode, kad pritisnete opciju izbornika Ugrađeno DA1 kako biste odabrali ugrađenu akciju, proslijedit će se vrijednost prihoda u dolarima za odabranu liniju poslovanja i organizaciju. Na primjer, proslijedit će se prihod za digitalne proizvode iz ulazne organizacije koji u ovom primjeru iznosi 1.458.738,42 USD.
{ "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" } ] }
Prosljeđivanje više vrijednosti u kontekstu prosljeđivanja
Kad u ovom primjeru pritisnete dvije ćelije u retku (na primjer, ulaznu organizaciju i međunarodnu organizaciju za digitalne proizvode) te pritisnete opciju izbornika Ugrađeni DA1 kako biste odabrali ugrađenu akciju, proslijedit će se vrijednost prihoda u dolarima za dvije odabrane ćelije za organizaciju i linije poslovanja. Ako, na primjer, pritisnete prihod za digitalne proizvode iz dvije odabrane organizacije (ulazne organizacije i međunarodne organizacije), proslijedit će se vrijednosti 1.458.738,42, i 915.528,97 USD.
{ "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" } ] } ] } ] }
Upotrijebite ove korake za prikaz payloadova događaja s pomoću alata u pregledniku Chrome.
console.log("Za prikaz payloada dodajte točku prekida na ovoj liniji i upotrijebite potprogram za ispravljanje pogrešaka s alatima u pregledniku") ;
i odaberite Dodaj točku prekida.
Kada se akcija podataka događaja pozove iz ugrađene podloge, unos payloada pojavit će se u odjeljku Opseg na desnom prozoru alata u pregledniku.
Globalna varijabla može se pregledati unutar kartice Konzola i proširiti za prikaz pojedinosti payloada.
Primjer HTML stranice s vizualizacijom koja prima događaje
Sljedeća šifra uzorka prikazuje kako definirati listener događaja za akciju za podatke događaja analitike. Morate ažurirati instancu analitike i ugrađeni put do radne knjige u ovoj šifri uzorka. Radna knjiga mora imati definiranu akciju za podatke događaja. Događaj koji se prati naziva se oracle.bitech.dataaction
. Kad je događaj pokrenut, šalje se poruka u konzolu.
<!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>
Možete izmijeniti i odjeljak <script>
u prethodnoj šifri uzorka kako biste vratili vrijednosti kada je pozvana akcija za podatke.
<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>