Takaisinkirjoituksen käyttöönotto

Takaisinkirjoitus sallii käyttäjien päivittää tietoja analyyseista.

Aiheet:

Tietoja takaisinkirjoituksesta pääkäyttäjille

Takaisinkirjoituksen avulla käyttäjät voivat päivittää tiedot suoraan koontinäytöistä ja analyyseista.

Käyttäjät, joilla on Takaisinkirjoitus tietokantaan -oikeus, näkevät takaisinkirjoituskentät muokattavina kenttinä analyyseissa. Heidän syöttämänsä arvot tallennetaan tietokantaan. Käyttäjät, joilla on ei ole Takaisinkirjoitus tietokantaan -oikeutta, näkevät takaisinkirjoituskentät vain luku -kenttinä.

Jos käyttäjä kirjoittaa arvon muokattavaan kenttään ja napsauttaa takaisinkirjoituspainiketta, sovellus suorittaa takaisinkirjoituksen mallipohjassa määritetyn insert tai update-SQL-komennon. Jos komento onnistuu, analyysi päivitetään uutta arvoa käyttäen. Jos joko mallipohjan luennassa tai SQL-komennon suorittamisessa tapahtuu virhe, näkyviin tulee virhesanoma.

insertkomento suoritetaan, kun tietuetta ei vielä ole ja kun käyttäjä syöttää uusia tietoja tauluun. Tässä tapauksessa käyttäjä on kirjoittanut taulutietueeseen, jonka arvo oli alun perin tyhjä. update-komento suoritetaan, kun käyttäjä muokkaa olemassa olevia tietoja. Jos haluat näyttää tietueen, jota ei ole vielä fyysisessä taulussa, voit luoda toisen samanlaisen taulun. Tällä samanlaisella taululla voit tuoda esiin paikanvaraajatietueita, joita käyttäjä voi muokata.

Huomautus::

Kun luot takaisinkirjoituksen mallipohjia, sekäinsert-komento että update-komento on lisättävä, vaikka niitä molempia ei käytettäisikään. Jos esimerkiksi olet suorittamassa vain insert-lauseen, on lisättävä tyhjä update-lause <update></update>, kuten seuraavassa XML-koodissa:

Tässä on esimerkki takaisinkirjoituksen XML-tiedostosta, joka sisältää kaksi insert-komentoa ja kaksi tyhjää update-lausetta. Lisätietoja takaisinkirjoituksen XML-tiedostojen luonnista ja jäsentämisestä on kohdassa Takaisinkirjoituksen mallitiedostojen luonti.
<?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>

Takaisinkirjoituksen käyttöönotto analyyseissa ja koontinäytöissä

Pääkäyttäjät voivat sallia käyttäjien muokata analyysien ja koontinäyttöjen tietoja.

  1. Semanttisen mallin määritys.

    Huomautus::

    Noudata näitä ohjeita, jos käytät Model Administration Tool -työkalua semanttisten mallien kehitykseen. Jos käytät semanttista mallinnussovellusta, katso kohta

    Ota sarakkeiden takaisinkirjoitus käyttöön .

    1. Avaa semanttinen malli (.rpd-tiedosto) Model Administration Tool -työkalussa.
    2. Kaksoisnapsauta fyysisessä kerroksessa fyysisistä taulua, joka sisältää sarakkeen, jolle haluat ottaa käyttöön takaisinkirjoituksen.
    3. Varmista Fyysinen taulu -valintaikkunan Yleinen-välilehdessä, ettei Välimuistiin tallennettava -valintaa ole valittu. Kun tämä valinta ei ole valittuna, esityspalvelujen käyttäjät voivat nähdä päivitykset välittömästi.
    4. Kaksoisnapsauta Liiketoimintamalli ja vastaavuusmääritys -kerroksessa vastaavaa loogista saraketta.
    5. Valitse Looginen sarake -valintaikkunassa Kirjoitettava ja sitten OK.
    6. Kaksoisnapsauta Esitys-kerroksessa sitä saraketta, joka vastaa loogista saraketta, jolle olet ottanut käyttöön takaisinkirjoituksen.
    7. Valitse Esityssarake-valintaikkunassa Oikeudet.
    8. Valitse Luku-/kirjoitus-oikeus asianomaisille käyttäjille ja sovellusrooleille.
    9. Tallenna tekemäsi muutokset.
  2. Luo XML-asiakirja takaisinkirjoituksen mallipohjaa (tai mallipohjia) käyttäen. Katso kohta Takaisinkirjoituksen mallitiedostojen luonti.

    XML-asiakirja voi sisältää useita mallipohjia. Tässä esimerkissä näkyy XML-asiakirja, joka sisältää kaksi mallipohjaa (SetQuotaUseID ja 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>
    Huomautus: <insert>-elementti ja <update>-elementti on lisättävä, vaikka kumpaakaan niistä ei käytettäisi. Jos esimerkiksi olet suorittamassa vain insert-lauseen, on lisättävä tyhjä updatelause <update></update>.
  3. Kopioi takaisinkirjoituksen mallipohjan sisältävä XML-asiakirja leikepöydälle.
  4. Takaisinkirjausmallin käyttö Oracle Analytics -palvelussa:
    1. Valitse Konsoli ja sitten Järjestelmäasetukset.
    2. Liitä Takaisinkirjoitusmallin XML -kohdassa vaiheessa 3 kopioimasi takaisinkirjoitusmalli.
  5. Takaisinkirjauskoodin käyttöoikeuksien myöntäminen:
    1. Siirry perinteiselle kotisivulle ja valitse Hallinta.
    2. Valitse Suojaus-kohdassa Käyttöoikeuksien hallinta ja siirry kohtaan Takaisinkirjoitus.
    3. Myönnä Takaisinkirjoitus tietokantaan -oikeus todennetulle käyttäjälle.
    4. Myönnä Takaisinkirjoituksen hallinta -oikeus BI-palvelun järjestelmänvalvojalle.
  6. Takaisinkirjoituksen käyttöönotto sarakkeissa:
    1. Näytä analyysieditorissa sen sarakkeen sarakeominaisuudet, jolle haluat ottaa käyttöön takaisinkirjoituksen.
    2. Napsauta Sarakeominaisuudet-valintaikkunassa Takaisinkirjoitus-välilehti.
      Jos sarakkeessa on otettu käyttöön takaisinkirjoitus semanttiseen malliin, Ota takaisinkirjoitus käyttöön -ruutu on käytettävissä.
    3. Valitse Ota takaisinkirjoitus käyttöön -valinta.
    4. Valitse muiden valintojen arvo, jos haluat muuttaa oletusarvoja.
    5. Tallenna tekemäsi muutokset.
    Sarakkeessa otetaan käyttöön takaisinkirjoitus kaikkien niiden analyysien osalta, jotka sisältävät tämän sarakkeen.
  7. Takaisinkirjoituksen käyttöönotto taulukkonäkymissä:
    1. Avaa taulukkonäkymä analyysieditorissa muokattavaksi.
    2. Valitse Näkymän ominaisuudet.
    3. Napsauta Taulun ominaisuudet -valintaikkunassa Takaisinkirjoitus-välilehteä.
    4. Valitse Ota takaisinkirjoitus käyttöön -valinta.
    5. Valitse Mallipohjan nimi -ruudussa arvo "WebMessage name=" vaihessa 2 määrittämällesi takaisinkirjoituksen mallipohjalle.
      Esimerkiksi vaiheen 2 esimerkkimallipohjan mallipohjan nimi on SetQuotaUseID.
    6. Tallenna tekemäsi muutokset.

Takaisinkirjoituksen rajoitukset

Käyttäjät voivat kirjoittaa takaisin kaikkiin tietolähteisiin, jotka sallivat SQL-kyselyjen suorituksen Oracle Analytics -palvelusta.

Muista seuraavat seikat, kun konfiguroit takaisinkirjoituksen.

  • Numerosarakkeet voivat sisältää vain numeroita. Sarakkeissa ei olla mitään tietojen muotoilumerkkejä, kuten dollarin merkkejä ($), punnan merkkejä (£), ristikkomerkkejä (#), prosenttimerkkejä (%) tai muita sellaisia.

  • Tekstisarakkeet voivat sisältää vain merkkijonotietoja.

  • Jos sisäänkirjautunut käyttäjä on jo katselemassa koontinäyttöä, joka sisältää analyysin takaisinkirjoitusta käyttäen mukautetuista tiedoista, tietoja ei päivitetä automaattisesti koontinäytössä. Käyttäjän on päivitettävä koontinäyttö manuaalisesti nähdäkseen päivitetyt tiedot.

  • Mallipohjamekanismia voidaan käyttää vain taulukkonäkymissä ja yksiarvoisissa tiedoissa. Mallipohjamekanismia ei tueta Pivot-taulukkonäkymissä eikä minkään muun tyyppisissä näkymissä, moniarvoisissa tiedoissa eikä yksiarvoisia tietoja sisältävissä avattavissa sarakkeissa.

  • Takaisinkirjoitussarakkeiden kaikkia arvoja voi muokata. Kun muokattavat kentät näytetään tulostukseen sopimattomassa kontekstissa, ne tulevat esiin, jos käyttäjällä on Takaisinkirjoitus tietokantaan -käyttöoikeus. Jos taas loogiselle sarakkeelle määritetään fyysinen sarake, jota voidaan muuttaa, looginen sarake palauttaa arvoja monitasoisille leikkauskohdille. Tämä skenaario saattaa aiheuttaa ongelmia.

  • Mikä tahansa analyysin kenttä voidaan merkitä takaisinkirjoituskentäksi, vaikka sitä ei olisikaan johdettu luodusta takaisinkirjoitustaulukosta. Takaisinkirjoitustoimintoa ei voi kuitenkaan suorittaa kunnolla, jos taulukossa ei ole otettu käyttöön takaisinkirjoitusta. Kenttien merkintä oikeilla tunnistella on sisältösuunnittelijan vastuulla.

  • Mallipohja voi sisältää muitakin SQL-lauseita kuin insert- ja update-lauseita. Takaisinkirjoitusfunktio välittää kyseiset lauseet tietokantaan. Oracle ei kuitenkaan tue tai suosittele muiden kuin insert- tai update-lauseiden käyttöä.

  • Oracle Analytics suorittaa erittäin vähän tietosyötteiden tarkistusta. Jos kenttä on numerokenttä, ja käyttäjä syöttää tekstitietoja, Oracle Analytics havaitsee asian ja estää virheellisten tietojen päätymisen tietokantaan. Se ei kuitenkaan havaitse muunlaisia virheellisiä tekstisyötteitä (alueen ulkopuolisia arvoja, teksti- ja numeroarvojen yhdistelmiä jne.). Jos käyttäjä napsauttaa takaisinkirjoituspainiketta, kun lisäys tai päivitys on käynnissä, virheelliset tiedot saavat tietokannan lähettämään virhesanoman. Sen jälkeen käyttäjä voi korjata virheellisen syötteen. Sisältösuunnittelijat voivat lisätä takaisinkirjoitusanalyysiin tekstiä käyttäjän avuksi. Esimerkki: Numerotietokenttään ei saa syöttää kirjaimien ja numeroiden yhdistelmiä.

  • Mallipohjamekanismi ei sovellu satunnaisten uusien tietueiden syöttämiseen. Älä siis käytä sitä tietojen syöttötyökaluna.

  • Varmista takaisinkirjoitustaulukkoa luotaessa, että vähintään yksi sarake ei sisällä takaisinkirjoitusominaisuutta, vaan ei-tyhjiä arvoja, jotka ovat yksilöiviä jokaisella rivillä.

  • Takaisinkirjoitusanalyyseissa ei tueta porautumista. Koska porautuminen muuttaa taulukon rakennetta, takaisinkirjoituksen mallipohja ei toimi.

    Huomio::

    Mallipohjamekanismi ottaa käyttäjän syötteen ja kirjoittaa sen suoraan tietokantaan. Fyysisen tietokannan suojaus on omalla vastuullasi. Tallenna takaisinkirjoituksen tietokannat yksilöivään tietokantainstanssiin suojauksen optimoimiseksi.

Takaisinkirjoituksen mallitiedostojen luonti

Takaisinkirjoituksen mallipohjatiedosto on XML-muotoinen tiedosto, joka sisältää vähintään yhden takaisinkirjoituksen mallipohjan.

Takaisinkirjoituksen mallipohja koostuu WebMessage-elementistä, joka määrittää mallipohjan nimen, yhteysvarannon ja SQL-lauseet, joita tarvitaan lisättäessä ja päivitettäessä tietueita luoduissa takaisinkirjoituksen taulukoissa ja sarakkeissa. Kun sisältösuunnittelijat ottavat taulukkonäkymän käyttöön takaisinkirjoitukselle, heidän on määritettävä sen takaisinkirjoituksen mallipohjan nimi, jota käytetään lisättäessä ja päivitettäessä tietueita taulukkonäkymässä.

Takaisinkirjoituksen mallipohjan vaatimukset

Takaisinkirjoituksen mallipohjan on täytettävä seuraavat vaatimukset:

  • WebMessage: Määritä takaisinkirjoituksen mallipohjalle nimi käyttämällä name -määritettä WebMessage-elementissä.

    Jotta takaisinkirjoitus onnistuisi kunnolla, sisältösuunnittelijan on määritettävä takaisinkirjoituksen taulukkonäkymän käyttöönoton yhteydessä sen takaisinkirjoituksen mallipohjan nimi, jota käytetään lisättäessä ja päivitettäessä tietueita taulukkonäkymässä.

    Tässä esimerkissä näkyy takaisinkirjoituksen mallipohja nimeltä SetQuotaUseID.

    <WebMessage name="SetQuotaUseID">
    
  • connectionPool: Suojausvaatimusten täyttämiseksi on määritettävä yhteysvaranto sekä tietueiden lisäämisessä ja päivittämisessä käytetyt SQL-komennot. Näillä SQL-komennoilla viitataan arvoihin, jotka annetaan takaisinkirjoitusrakenteessa ja joilla luodaan SQL-lauseet tietokantataulun muokkausta varten.

  • VALUES: Sarakkeen arvoihin voidaan viitata joko saraketunnuksella tai sarakkeen sijainnilla. Saraketunnuksen käyttöä suositellaan.

    Laita merkkijono- ja päivämääräarvot puolilainausmerkkien sisälle. Numeroarvoissa ei tarvita puolilainausmerkkejä.

    • Saraketunnus - Kaikki saraketunnukset ovat aakkosnumeerisia ja satunnaisesti luotuja. Saraketunnukset sijaitsevat analyysin XML-määrityksessä, joka on käytettävissä analyysieditorin Lisäasetukset-välilehdessä. Esimerkkejä saraketunnuksista: @{c5f6e60e1d6eb1098}, @{c3a93e65731210ed1}, '@{c6b8735ea60ff3011}'

      Saraketunnuksia käytettäessä takaisinkirjoitusta jatketaan, vaikka sarakkeiden järjestystä muutettaisiinkin.

      XM analyysieditorin Lisäasetukset-välilehdessä

    • Sarakkeen sijainti - Sarakkeen sijaintien numerointi alkaa numerosta 1. Esimerkkejä sarakkeen sijainnin arvoista: @1, @3, '@5'

      Jos sarakkeiden järjestystä muutetaan, takaisinkirjoitus ei enää toimi kunnolla. Tämän vuoksi suositellaan saraketunnusten käyttöä.

  • Mallipohjaan on lisättävä sekä <insert>- että <update>-elementti. Jos et halua lisätä SQL-komentoja elementteihin, alku- ja lopputunnisteen väliin on lisättävä välilyönti. Elementti on siis syötettävä tässä muodossa:

    <insert> </insert>
    

    Eikä näin:

    <insert></insert>
    

    Jos jätät välilyönnin pois, näkyviin tulee takaisinkirjoituksen virhesanoma, kuten Järjestelmä ei voi lukea takaisinkirjoituksen mallipohjaa 'my_template'.

  • Jos parametrin tietotyyppi ei ole kokonaisluku tai reaaliluku, lisää puolilainausmerkit sen ympärille. Jos tietokanta ei tee vahvistuksia automaattisesti, pakota vahvistus lisäämällä valinnainen postUpdate-solmu insert- ja update-solmujen jälkeen. postUpdate-solmu on tavallisesti tämän esimerkin mukainen:

    <postUpdate>COMMIT</postUpdate>
    

Esimerkki saraketunnuksen syntaksia käyttävästä takaisinkirjoituksen mallipohjatiedostosta

Takaisinkirjoituksen mallipohjatiedosto, joka viittaa arvoihin saraketunnuksenmukaan, voisi olla esimerkiksi tämän kaltainen:

<?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>

Esimerkki sarakkeen sijainnin syntaksia käyttävästä takaisinkirjoituksen mallipohjatiedostosta

Takaisinkirjoituksen mallipohjatiedosto, joka viittaa arvoihin sarakkeen sijainninmukaan, voisi olla esimerkiksi tämän kaltainen:

<?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>