Olyan adatműveletek végrehajtása, amelyeknél beágyazott tartalom van

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.

A(z) GUID-B6F00C33-0D8C-4AB2-B8F5-59E8D12E4B30-default.gif leírása
.gif ábra leírása

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.

A(z) GUID-277630C2-D839-48E9-B965-333BE8D9D7DF-default.gif leírása
.gif ábra leírása
{
   "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.

A(z) GUID-FB843F63-4CDC-41E5-A1D6-B640A73981E9-default.gif leírása
.gif ábra leírása
{
   "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.

  1. A Chrome-ban kattintson a jobb egérgombbal, és válassza a Forrás vizsgálata lehetőséget.
  2. A Források lapon kattintson a jobb egérgombbal a következő sorra: 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.

  3. Kattintson a jobb egérgombbal az adattartalom-bejegyzésre, és válassza a Tárolás globális változóként lehetőséget.

    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>