Takaisinkirjoitus sallii käyttäjien päivittää tietoja analyyseista.
Aiheet:
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.
insert
komento 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:
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>
Pääkäyttäjät voivat sallia käyttäjien muokata analyysien ja koontinäyttöjen tietoja.
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 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 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.
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>