Noudata tässä annettuja ohjeita tietojenkäsittelytoimintojen upottamisesta ja suorittamisesta visualisoinnissa ulkoisissa säilöissä, kuten HTML-sivulla tai sovelluksen verkkosivulla.
Huomautus::
Tämän osan esimerkit koskevat upotettuja tietotoimintoja, kun upotussovellus ei käytä Oracle JET -tekniikkaa. Katso:Tietojenkäsittelytoimintojen suoritus
Kun napsautat Julkaise tapahtuma -toimea, se määrittää visualisoinnin kontekstitiedot ja välittää ne navigointitoimipalvelulle käsiteltäväksi. Navigointitoimen palveluprosessi luo tapahtuman nimeltä "oracle.bitech.dataaction" kontekstin tietosisällöllä. Voit tilata tämän tapahtuman ja vastaanottaa tapahtuman vastakutsun tietosisällön, jota voit käyttää muihin tarkoituksiin.
Seuraava visualisointi näyttää tuoton dollareina toimialoille, kuten viestintä, digitaali ja elektroniikka, eri organisaatioissa, esimerkiksi franchising, saapuva ja kansainvälinen organisaatio.
Tapahtuman ja tietosisällön muoto ja konteksti
Seuraavassa esimerkissä esitellään tapahtuman julkaisu, kun upotettua tiedonkäsittelytoimintoa kutsutaan yhdestä tai useammasta hiiren kakkospainikkeella valitusta tietosolusta ja tietotoiminto on valittu valikosta, joka näytetään upotetussa työkirjassa.
Alla olevat esimerkit ovat peräisin JSON-tiedostosta, esimerkiksi obitech-cca/cca/component.json
.
Tapahtuman muoto
"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" } } }
Tietosisällön muoto
{"context":[ "or": [ "and":[ {"contextParamValues":[...], "contextParamValuesKeys":[...], "colFormula":"...", "displayName":"...", "isDoubleColumn":true/false, "dataType":"..." } ] ] ] }
Yksittäisen arvon antaminen yksittäiselle sarakkeelle kontekstivälityksen avulla
Tässä esimerkissä sarakkeen solun napsauttaminen lähettää ulkoiseen säilöön objektin, joka sisältää kontekstitietoa sarakkeesta. Tässä tapauksessa annetaan organisaation nimi.
{ "context": [ { "contextParamValues": [ "Inbound Org." ], "contextParamValuesKeys": [ "Inbound Org." ], "colFormula": "\"A - Sample Sales\".\"Offices\".\"D3 Organization\"", "displayName": "D3 Organization", "isDoubleColumn": false, "dataType": "varchar" } ] }
Yksittäisen arvon antaminen jokaiselle sarakkeelle kontekstivälityksen avulla
Tässä esimerkissä, kun napsautat sarakkeen solua (esimerkiksi Saapuvat-organisaatio ja Digitaalituotteet) ja valitset Upotettu DA1 -valikosta upotetun toiminnon, lähetetään valitun toimialan ja organisaation tuottoarvo dollareina. Arvona lähetetään esimerkiksi Saapuvat-organisaation Digitaalituotteiden tuotto, joka on tässä esimerkissä 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" } ] }
Useiden arvojen antaminen kontekstivälityksen avulla
Tässä esimerkissä, kun napsautat kahta rivisolua (esimerkiksi Saapuvat-organisaatio ja Kansainvälinen organisaatio Digitaalituotteissa) ja valitset Upotettu DA1 -valikosta upotetun toiminnon, lähetetään kahden valitun solun (organisaatio ja toimiala) tuottoarvo dollareina. Jos esimerkiksi napsautat Digitaalituotteiden tuottoa kahdesta valitusta organisaatiosta (Saapuvat ja Kansainvälinen organisaatio) arvoina lähetetään 1 458 738,42 $ ja 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" } ] } ] } ] }
Näiden vaiheiden avulla voit katsella tapahtuman tietosisältöjä Chrome-selaintyökaluja käyttäen.
console.log("To view the payload, add a breakpoint on this line and use the browser tools debugger") ;
ja valitse Lisää katkokohta.
Kun tapahtuman tiedonkäsittelytoiminto kutsutaan upotetusta pohjasta, tietosisältömerkintä tulee näkyviinLaajuus-osaan selaintyökalujen oikeanpuoleisessa ruudussa.
Yleistä muuttujaa voidaan katsella Konsoli-välilehdessä ja se voidaan laajentaa näyttämään tietosisällön tiedot.
Esimerkki visualisoinnin sisältävästä HTML-sivusta, joka vastaanottaa tapahtumia
Seuraavassa esimerkissä kuvataan, kuinka analyysitapahtuman tiedonkäsittelytoiminnolle määritetään tapahtuman kuuntelija. Analyysi-instanssi ja upotettu polku on päivitettävä työkirjaan tässä mallikoodissa. Työkirjalle on määritettävä tapahtuman tiedonkäsittelytoiminto. Sitä varten kuunneltavan tapahtuman nimi on oracle.bitech.dataaction
. Kun tapahtuma on käynnistetty, konsoliin lähetetään sanoma.
<!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>
Voit myös muokata edellisen mallikoodin <script>
-osaa palauttamaan arvoiksi paikan, jossa tiedonkäsittelytoiminto kutsuttiin:
<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>