Visszaírás telepítése

A visszaírás funkció lehetővé teszi, hogy a felhasználók az adatokat az elemzésekből frissítsék.

Témakörök:

A visszaírás funkció bemutatása rendszergazdáknak

A visszaírás funkció lehetővé teszi, hogy a felhasználók az adatokat közvetlenül az irányítópultokról és az elemzésekből frissítsék.

A Visszaírás adatbázisba jogosultsággal rendelkező felhasználók az elemzésekben szerkeszthetőként látják a visszaírható mezőket. Az oda beírt értékek az adatbázisba lesznek mentve. A Visszaírás adatbázisba jogosultsággal nem rendelkező felhasználók a visszaírható mezőket írásvédett mezőként látják.

Ha a felhasználó szerkeszthető mezőbe ír be értéket, és rákattint a visszaírás gombra, akkor az alkalmazás lefuttatja a visszaírási sablonban definiált insert vagy update SQL-parancsot. Ha a parancs végrehajtása sikeres, az elemzés módosul az új értékkel. Ha hiba következik be a sablon olvasásakor vagy az SQL-parancs futtatásakor, hibaüzenet jelenik meg.

Az insert parancs akkor fut, ha még nem létezett bejegyzés, de a felhasználó beírt új adatot a táblába. Ebben az esetben a felhasználó egy olyan táblarekordba gépelt, amelyben az eredeti érték null volt. Az update parancs akkor fut, ha a felhasználó létező adatot módosított. A fizikai táblában még nem létező bejegyzés (rekord) megjelenítéséhez létrehozhat másik hasonló táblát. Ez a hasonló tábla használható olyan helyőrző rekordok megjelenítéséhez, amelyeket a felhasználó módosíthat.

Megjegyzés:

Ha visszaírási sablont hoz létre, bele kell foglalnia egy insert és egy update parancsot akkor is, ha nem használja mindkettőt. Ha például csak egy insert feladatot végez, egy üres update utasítást <update></update>, is bele kell foglalnia, mint ebben az XML-kódban:

Ez egy minta visszaírási XML-fájl, amely két insert parancsot és két üres update utasítást tartalmaz. További információért a visszaírási XML-fájlok létrehozásáról és strukturálásáról lásd: Visszaírási sablonfájlok létrehozása.
<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="oracle.bi.presentation/writebackschemas/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
   <WebMessage name="SetQuotaUseID">
      <XML>
         <writeBack connectionPool="Supplier">
            <insert>INSERT INTO regiontypequota VALUES(@{c5f6e60e1d6eb1098},@{c5d7e483445037d9e},'@{c3a93e65731210ed1}','@{c6b8735ea60ff3011}',@{c0432jkl53eb92cd8})</insert>
            <update></update>
         </writeBack>
      </XML>
   </WebMessage>
<WebMessage name="SetForecastUseID">
      <XML>
         <writeBack connectionPool="Supplier">
            <insert>INSERT INTO regiontypeforecast VALUES(@{c83ebf607f3cb8320},@{cb7e2046a0fba2204},'@{c5a93e65d31f10e0}','@{c5a93e65d31f10e0}',@{c7322jkl93ev92cd8})</insert>
            <update></update>
         </writeBack>
      </XML>
   </WebMessage>
</WebMessageTable>
</WebMessageTables>

Visszaírás engedélyezése az elemzésekben és az irányítópultokon

A rendszergazdák engedélyezhetik, hogy a felhasználók az elemzésekben és az irányítópultokon az adatokat módosítsák.

  1. A szemantikai modell beállítása.

    Megjegyzés:

    Kövesse ezeket a lépéseket, ha a Model Administration Tool eszköz használatával fejleszt szemantikai modelleket. Ha a Semantic Modeler alkalmazást használja, tekintse meg a következőt:

    Visszaírás engedélyezése oszlopok esetében .

    1. A Model Administration Tool alkalmazásban nyissa meg a szemantikai modellt (.rpd-fájlt).
    2. A Fizikai rétegen kattintson kétszer arra a táblára, amelyik azt az oszlopot tartalmazza, amelyikre a visszaírást engedélyezni akarja.
    3. Győződjön meg róla, hogy a Fizikai tábla párbeszédpanel Általános lapján a Gyorsítótárazható nincs bejelölve. Ennek a bejelöletlensége garantálja, hogy a Presentation Services felhasználói azonnal lássák a módosításokat.
    4. Az Üzleti modell és leképezés rétegen kattintson kétszer a megfeleltetett logikai oszlopra.
    5. A Logikai oszlop párbeszédpanelen jelölje be az Írható jelölőnégyzetet, majd kattintson az OK gombra.
    6. A Megjelenítés rétegen kattintson kétszer arra az oszlopra, amelyik a megfelelője annak a logikai oszlopnak, amelyikre a visszaírást engedélyezte.
    7. Az Oszlop megjelenítése párbeszédpanel kattintson az Engedélyek elemre.
    8. Jelölje be az Olvasás/Írás engedélyt a megfelelő felhasználók és alkalmazási szerepkörök részére.
    9. Mentse a változtatásokat.
  2. Hozzon létre egy XML-dokumentumot a visszaíró sablonnal (vagy sablonokkal). Lásd: Visszaírási sablonfájlok létrehozása.

    Az XML-dokumentum több sablont is tartalmazhat. Ebben a példában olyan XML-dokumentum látható, amely két sablont tartalmaz (SetQuotaUseID és SetForecastUseID).

    <?xml version="1.0" encoding="utf-8" ?>
    <WebMessageTables xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="oracle.bi.presentation/writebackschemas/v1">
    <WebMessageTable lang="en-us" system="WriteBack" table="Messages">
       <WebMessage name="SetQuotaUseID">
          <XML>
             <writeBack connectionPool="Supplier">
                <insert>INSERT INTO regiontypequota VALUES(@{c5f6e60e1d6eb1098},@{c5d7e483445037d9e},'@{c3a93e65731210ed1}','@{c6b8735ea60ff3011}',@{c0432jkl53eb92cd8})</insert>
                <update>UPDATE regiontypequota SET Dollars=@{c0432jkl53eb92cd8} WHERE YR=@{c5f6e60e1d6eb1098} AND Quarter=@{c5d7e483445037d9e} AND Region='@{c3a93e65731210ed1}' AND ItemType='@{c6b8735ea60ff3011}'</update>
             </writeBack>
          </XML>
       </WebMessage>
    <WebMessage name="SetForecastUseID">
          <XML>
             <writeBack connectionPool="Supplier">
                <insert>INSERT INTO regiontypeforecast VALUES(@{c83ebf607f3cb8320},@{cb7e2046a0fba2204},'@{c5a93e65d31f10e01}','@{c5a93e65d31f10e0}',@{c7322jkl93ev92cd8})</insert>
                <update>UPDATE regiontypeforecast SET Dollars=@{c7322jkl93ev92cd8} WHERE YR=@{c83ebf607f3cb8320} AND Quarter=@{cb7e2046a0fba2204} AND Region='@{c5a93e65d31f10e01}' AND ItemType='@{c5a93e65d31f10e0}'</update>
             </writeBack>
          </XML>
       </WebMessage>
    </WebMessageTable>
    </WebMessageTables>
    Megjegyzés: Szerepeltetnie kell egy <insert> és egy <update> elemet akkor is, ha nem használja mindkettőt. Például, ha Ön csak insert műveletet hajt végre, szerepeltetnie kell az üres update utasítást: <update></update>.
  3. Másolja a vágólapjára a visszaírási sablonokat tartalmazó XML-dokumentumot.
  4. Érvényesítse (alkalmazza) a visszaírási sablont az Oracle Analytics szolgáltatásban.
    1. Kattintson a Konzol, majd a Rendszerbeállítások elemre.
    2. A Visszaírási sablon XML-kódja mezőbe illessze be azt a visszaírási sablont, amelyiket a 3. lépésben a vágólapra másolt.
  5. Adja meg az engedélyeket a visszaírási kód használatára:
    1. Léptessen a Klasszikus kezdőlapra, majd kattintson az Adminisztrálás gombra.
    2. A Biztonság alatt kattintson a Jogosultságok kezelése elemre, és léptessen a Visszaírás lapra.
    3. Adja meg a Visszaírás adatbázisba engedélyt a Hitelesített felhasználó részére.
    4. Adja meg a Visszaírás kezelése engedélyt a BI szolgáltatás rendszergazdája részére.
  6. Visszaírás engedélyezése oszlopokra
    1. Az elemzésszerkesztőben jelenítse meg annak az oszlopnak az objektumtulajdonságait, amelyikre a visszaírást engedélyezni akarja.
    2. Az Oszlop tulajdonságai párbeszédpanelen kattintson a Visszaírás lapfülre.
      Ha az oszlop visszaírása engedélyezve van a szemantikai modellben, elérhető a Visszaírás engedélyezése jelölőnégyzet.
    3. Válassza a Visszaírás engedélyezése lehetőséget.
    4. Ha meg akarja változtatni az alapértelmezetteket, adja meg az érintett beállítások értékét.
    5. Mentse a változtatásokat.
    Az oszlop visszaírása minden olyan elemzésben engedélyezett, amelyik tartalmazza ezt az oszlopot.
  7. Visszaírás engedélyezése táblázatos nézetekben:
    1. Az elemzésszerkesztőben nyissa meg szerkesztésre a táblázatos nézetet.
    2. Kattintson a Nézet tulajdonságai elemre.
    3. A Táblázat tulajdonságai párbeszédpanelen kattintson a Visszaírás lapfülre.
    4. Válassza a Visszaírás engedélyezése lehetőséget.
    5. Válassza a Sablon neve mezőt, és a visszaírási sablonban adja meg a "WebMessage name=" azon értékét, amelyiket megadott a 2. lépésben.
      A mintaként használt sablon 2. lépésében például a Sablon neve 'SetQuotaUseID'.
    6. Mentse a változtatásokat.

Visszaírási korlátozások

A felhasználók visszaírhatnak minden olyan adatforrásba, amely engedélyezi az Oracle Analytics szolgáltatásból származó SQL-lekérdezéseket.

A visszaírás konfigurálása közben ne feledkezzen meg a következő korlátozásokról:

  • A numerikus oszlopok csak oszlopokat tartalmazhatnak. Nem tartalmazhatnak olyan adatformázó karaktereket, mint a dollárjel ($), a fontjel, a kettőskereszt (#), a százalékjel (%) stb.

  • A szöveges oszlopok csak sztringadatokat tartalmazhatnak.

  • Ha egy bejelentkezett felhasználó már nézi azt az irányítópultot, amelyik olyan elemzést tartalmaz, ahol az adatok a visszaírás használatával módosítva lettek, az adatok az irányítópulton nem frissülnek automatikusan. A frissített adatok megtekintéséhez a felhasználónak manuálisan kell frissíteni az irányítópultot.

  • A sablonmechanizmus csak táblanézetekkel és csak egy értéket tartalmazó adatokkal használható. A sablonmechanizmus nem támogatott kimutatástábla nézeteknél és semmi más nézettípusnál; több értékkel rendelkező adatoknál és egy értéket tartalmazó adatokkal rendelkező legördülő oszlopoknál.

  • A visszaírási oszlopok minden értéke szerkeszthető. Ha nem nyomtatóbarát környezetben jelenítik meg őket, a szerkeszthető mezők új jelennek meg, mintha a felhasználó rendelkezne a Visszaírás az adatbázisba jogosultsággal. Azonban ha egy logikai oszlopot megfeleltetnek egy olyan fizikai oszlopnak, amely módosulhat, a logikai oszlop több szintű metszetek értékeit adja vissza. Ez a helyzet problémákhoz vezethet.

  • Az elemzések bármely mezője megjelölhető visszaírási mezőként, akkor is, ha nem az Ön által létrehozott visszaírási táblából származik. Azonban nem futtatható sikeresen a visszaírási művelet, ha a táblázatnál nincs engedélyezve a visszaírás. A mezők megfelelő megcímkézéséért a tartalom tervezője felel.

  • Egy sablon tartalmazhat az insert és update utasításoktól eltérő SQL-utasításokat is. A visszaírás funkció átadja ezeket az utasításokat az adatbázisnak. Az Oracle azonban nem támogatja és nem javasolja az insert és update utasításoktól eltérő utasítások használatát.

  • Az Oracle Analytics csak minimális szintű érvényesítést végez az adatbevitelen. Ha a mező numerikus, és a felhasználó szöveges adatokat visz be, az Oracle Analytics észleli ezt, és megakadályozza, hogy az érvénytelen adatok az adatbázisba kerüljenek. Egyéb típusú érvénytelen adatbeviteleket azonban nem észlel (tartományon kívüli értékek, keveredő szöveges és numerikus adatok stb.). Ha a felhasználó a visszaírás gombra kattint, és a rendszer beszúrást vagy módosítást futtat, az érvénytelen adatok miatt az adatbázis hibaüzenetet jelenít meg. A felhasználói ezután kijavíthatja a hibás bevitelt. A tartalomtervezők hozzáadhatnak szöveget a visszaírási elemzéshez, hogy segítsék a felhasználót, például: "Nem engedélyezett kevert alfanumerikus értékek beírása numerikus adatokat tartalmazó mezőbe."

  • A sablonmechanizmus nem megfelelő tetszőleges új rekordok megadásához. Más szóval, nem használjuk adatbeviteli eszközként.

  • Amikor táblázatot hoz létre a visszaíráshoz, győződjön meg róla, hogy legalább egy olyan oszlop van, amely nem tartalmaz visszaírási képességet, de tartalmaz olyan értékeket, amelyek soronként egyediek és nem null értékűek.

  • A visszaírási elemzések nem támogatják a részletezést. A részletezés módosítja a tábla struktúráját, ezért a visszaírási sablon nem működik.

    Vigyázat:

    A sablonmechanizmus a felhasználói bevitelt közvetlenül az adatbázisba írja. A fizikai adatbázis biztonságáért Ön felel. Az optimális biztonság érdekében a visszaírási adatbázisok tábláit egyedi adatbázispéldányban tárolja.

Visszaírási sablonfájlok létrehozása

A visszaírási sablonfájl XML-formátumú fájl, amely egy vagy több visszaírási sablont tartalmaz.

A visszaírási sablon a következőkből áll: egy WebMessage elem, amely meghatározza a sablon nevét, illetve a kapcsolatkészlet és az SQL-utasítások, amelyek ahhoz szükségesek, hogy rekordokat szúrjon be a létrehozott visszaírási táblákba vagy oszlopokba, valamint hogy ilyen rekordokat frissítsen. Ha a tartalomtervezők engedélyezik a táblanézetek visszaírását, meg kell határozniuk annak a visszaírási sablonnak a nevét, amelyet a rekordok beillesztéséhez és frissítéséhez kell használni tábla nézetben.

A visszaírási sablonokra vonatkozó követelmények

A visszaírási sablonoknak a következő követelményeknek kell megfelelniük:

  • WebMessage: meg kell határozni a visszaírási sablon nevét a WebMessage elem name attribútumának használatával.

    A visszaírás akkor működik megfelelően, ha, amikor engedélyezi a tábla nézetek visszaírását, a tartalomtervezőnek meg kell határoznia annak a visszaírási sablonnak a nevét, amelyet a rekordok beillesztéséhez és frissítéséhez kell használni a nézetben.

    A példában látható visszaírási sablon neve: SetQuotaUseID.

    <WebMessage name="SetQuotaUseID">
    
  • connectionPool: a biztonsági követelményeknek való megfelelés érdekében meg kell határoznia a kapcsolatkészletet, valamint a rekordok beillesztéséhez és frissítéséhez használandó SQL-parancsokat. Ezek az SQL-parancsok azokra az értékekre hivatkoznak, amelyeket a rendszer átad a visszaírási sémában az adatbázistábla módosításához használandó SQL-utasítások létrehozásához.

  • VALUES: az oszlopértékekre hivatkozhatunk oszlopazonosító vagy oszloppozíció szerint. Az oszlopazonosító használata preferált.

    A sztringet és a dátumértékeket aposztrófok vegyék körül. A numerikus értékeknél nem szükségesek az aposztrófok.

    • Oszlopazonosító – Minden oszlopazonosító alfanumerikus, véletlenszerűen generált. Az oszlopazonosítók az elemzés XML-definíciójában találhatók, amely az elemzésszerkesztő Speciális lapján érhető el. Példák oszlopazonosító értékekre: @{c5f6e60e1d6eb1098}, @{c3a93e65731210ed1}, '@{c6b8735ea60ff3011}'

      Ha oszlopazonosítókat használ, a visszaírás akkor is működik, ha módosul az oszlopok sorrendje.

      XML az elemzésszerkesztő Speciális lapján

    • Oszloppozíció – Az oszlopok pozíciójának számozása 1-el kezdődik. Példák oszlopazonosító értékekre: @1, @3, '@5'

      Ha módosul az oszlopok sorrendje, a visszaírás már nem működik - ezért preferált az oszlopazonosítók használata.

  • A sablonnak <insert> és <update> elemet is kell tartalmaznia. Ha nem szeretne SQL-parancsokat belefoglalni az elemekbe, akkor szóközt kell beszúrnia a nyitó és záró címkék közé. Az elemet például így kell megadnia:

    <insert> </insert>
    

    Nem pedig:

    <insert></insert>
    

    Ha kihagyja a szóközt, akkor visszaírási hibaüzenet jelenik meg, például: "A rendszer nem tudja olvasni a 'my_template' visszaírási sablont".

  • Ha egy paraméter adattípusa nem egész vagy valós szám, akkor foglalja aposztrófok közé. Ha az adatbázis nem végzi el automatikusan a Jóváhagyásokat, akkor adja hozzá az opcionális postUpdate csomópontot az insert és update csomópontok után a jóváhagyás kényszerítéséhez. A postUpdate csomópont többnyire ezt a példát követi:

    <postUpdate>COMMIT</postUpdate>
    

Példa visszaírási sablonfájlra, amely oszlopazonosítós szintaxist használ

Egy visszaírási sablonfájl, amely oszlopazonosító szerint hivatkozik értékekre, a következő példára hasonlíthat:

<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
   <WebMessage name="SetQuotaUseID">
      <XML>
         <writeBack connectionPool="Supplier">
            <insert>INSERT INTO regiontypequota VALUES(@{c5f6e60e1d6eb1098},@{c5d7e483445037d9e},'@{c3a93e65731210ed1}','@{c6b8735ea60ff3011}',@{c0432jkl53eb92cd8})</insert>
            <update>UPDATE regiontypequota SET Dollars=@{c0432jkl53eb92cd8} WHERE YR=@{c5f6e60e1d6eb1098} AND Quarter=@{c5d7e483445037d9e} AND Region='@{c3a93e65731210ed1}' AND ItemType='@{c6b8735ea60ff3011}'</update>
         </writeBack>
      </XML>
   </WebMessage>
</WebMessageTable>
</WebMessageTables>

Példa visszaírási sablonfájlra, amely oszloppozíciós szintaxist használ

Egy visszaírási sablonfájl, amely oszloppozíció szerint hivatkozik értékekre, a következő példára hasonlíthat:

<?xml version="1.0" encoding="utf-8" ?>
<WebMessageTables xmlns:sawm="com.siebel.analytics.web/message/v1">
<WebMessageTable lang="en-us" system="WriteBack" table="Messages">
   <WebMessage name="SetQuota">
      <XML>
         <writeBack connectionPool="Supplier">
            <insert>INSERT INTO regiontypequota VALUES(@1,@2,'@3','@4',@5)</insert>
            <update>UPDATE regiontypequota SET Dollars=@5 WHERE YR=@1 AND Quarter=@2 AND Region='@3' AND ItemType='@4'</update>
         </writeBack>
      </XML>
   </WebMessage>
</WebMessageTable>
</WebMessageTables>