Az itt leírtak további információt tartalmaznak az ábrázolások adatműveleteinek külső tárolókba (például egy HTML oldal vagy egy alkalmazás weblapja) való beágyazásáról és ezek végrehajtásáról.
Megjegyzés:
Ebben a részben olyan példák vannak, amelyek beágyazott adatműveletekre vonatkoznak, ha a beágyazó alkalmazás nem használja az Oracle JET technológiát. Lásd:Adatműveletek végrehajtása
Amikor az esemény-közzétételi adatműveletre kattint, az meghatározza az ábrázolásra vonatkozó környezeti információt, és azt végrehajtásra továbbadja a navigálási műveletszolgáltatásnak. A navigálási művelet szolgáltatási folyamata jelzi az „oracle.bitech.dataaction” eseményt a környezeti alapadatokkal. Ön feliratkozhat erre az eseményre, és az esemény emlékeztetőjében megkaphatja az alapadatokat, illetve szükség szerint további hasznosítást is végezhet.
A következő ábrázolás az üzletágak (például kommunikáció, digitális, elektronikai) bevételét mutatja (dollárban) a szervezetek között, például: Franchises Org, Inbound Org, International Org.
Az esemény és a tájékoztatás formája és környezete
A következő példák egy esemény közzétételét mutatják be, amikor a beágyazott adatműveletet egy vagy több olyan adatcella hívja meg, amelyre a jobb gombbal kattintottak, és az adatműveletet a beágyazott munkafüzetben megjelenő menüből választották ki.
Az alábbi példák egy JSON fájlból (például: obitech-cca/cca/component.json
) származnak.
Esemény – Formátum
"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" } } }
Tájékoztatás formája
{"context":[ "or": [ "and":[ {"contextParamValues":[...], "contextParamValuesKeys":[...], "colFormula":"...", "displayName":"...", "isDoubleColumn":true/false, "dataType":"..." } ] ] ] }
Egyetlen érték átadása egyetlen oszlop részére az Átadási környezetben
Ebben a példában, amikor egy oszlopcellára kattint, az egy oszlopra vonatkozó környezeti információval rendelkező objektum kerül átadásra a külső tárolóba. Ebben az esetben a szervezet neve kerül átadásra.
{ "context": [ { "contextParamValues": [ "Inbound Org." ], "contextParamValuesKeys": [ "Inbound Org." ], "colFormula": "\"A - Sample Sales\".\"Offices\".\"D3 Organization\"", "displayName": "D3 Organization", "isDoubleColumn": false, "dataType": "varchar" } ] }
Egyetlen érték átadása mindegyik oszlop részére az Átadási környezetben
Ebben a példában, amikor egy oszlop, például az Inbound Org és Digitális eszközök cellájára kattint és kiválasztja az Embedded DA1 menü egyik beágyazott műveletét, a kiválasztott üzletág és szervezet árbevételének értéke dollárban kerül átadásra. Például a Digitális eszközök árbevétele az Inbound Org szervezettől, ami ebben a példában 1 458 738,42 dollár.
{ "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" } ] }
Több érték átadása az Átadási környezetben
Ebben a példában, ami átadásra kerül, amikor két sor (például az Inbound Org és az International Org a Digitális eszközöknél) cellájára kattint és kiválasztja az Embedded DA1 menüben a beágyazott műveletet, az a kiválasztott két üzletág és szervezet árbevételére vonatkozó kiválasztott cellájának értéke dollárban. Például, ha a két kiválasztott szervezetnél (az Inbound Org és az International Org) a Digitális eszközök értékesítésének árbevételi cellájára kattint, az átadási érték 1 458 738,42 és 915 528,97 dollár lesz.
{ "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" } ] } ] } ] }
Használja ezeket a lépéseket, ha meg szeretné tekinteni az események törzsadatait a Chrome böngésző eszközeivel.
console.log("To view the payload, add a breakpoint on this line and use the browser tools debugger") ;
, majd válassza a Töréspont hozzáadása lehetőséget.
Amikor meghívják az esemény adatműveletét a beágyazott vászonból, a böngészőeszközök jobb oldali panelének Hatókör szakaszában megjelenik egy adattartalom-bejegyzés.
A globális változó megtekinthető a Konzol lapon, ahol ki lehet bontani az adattartalom részleteinek megtekintéséhez.
Példa olyan megjelenítés HTML oldalára, amelyik eseményeket fogad
A következő mintakód azt illusztrálja, hogyan lehet meghatározni eseményfigyelőt egy elemzési esemény adatműveletéhez. Módosítania kell az elemzési példányt és a munkafüzetre mutató beágyazott útvonalat ebben a kódmintában. A munkafüzethez meg kell határozni egy esemény-adatműveletet. A figyelt esemény neve: oracle.bitech.dataaction
. Ha az esemény elindult, a rendszer üzenetet küld a konzolnak.
<!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>
Módosíthatja az előző kódminta <script>
szakaszát is, hogy visszaadja annak az értékét, hogy hol hívták meg az adatműveletet:
<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>