Implementacija upisa rezultata

Upis rezultata omogućava korisnicima ažuriranje podataka iz analiza.

Teme:

Više o upisu rezultata za administratore

Upis rezultata omogućava korisnicima ažuriranje podataka izravno iz dashboarda i analiza.

Korisnici s ovlaštenjem Upis rezultata u bazu podataka vide polja za upis rezultata kao polja koja se mogu uređivati u analizama. Vrijednosti koje unose spremaju se u bazu podataka. Korisnici bez ovlaštenja Upis rezultata u bazu podataka polja s rezultatima vide kao polja samo za čitanje.

Ako korisnik unese vrijednost u polje koje se može uređivati ​​i pritisne gumb za upis rezultata, aplikacija izvršava SQL naredbu insert ili update koja je definirana u predlošku za upis rezultata. Ako naredba uspije, analiza se ažurira novom vrijednošću. Ako je došlo do pogreške pri očitavanju predloška ili pokretanja SQL naredbe, prikazat će se obavijest o pogrešci.

Naredba insert pokreće se kad zapis još ne postoji, a korisnik unosi nove podatke u tablicu. U ovom slučaju korisnik je upisao zapis tablice čija je vrijednost izvorno bila null. Naredba update pokreće se kad korisnik modificira postojeće podatke. Za prikazivanje zapisa koji još ne postoji u fizičkoj tablici možete stvoriti drugu sličnu tablicu. Upotrebljavajte sličnu tablicu za prikaz zapisa rezerviranih mjesta koje korisnik može mijenjati.

Bilješka:

Nakon što stvorite predloške za zapisivanje, možete uključiti i naredbu insert i naredbu update, čak i ako ih ne upotrebljavate obje. Npr., ako vršite samo insert, morate uključiti praznu naredbu update <update></update>, kao u ovom XML kodu:

Ovo je ogledna XML datoteka za zapisivanje koja sadrži dvije naredbe insert i dvije prazne naredbe update. Kako biste saznali više o tome kako stvoriti i strukturirati XML datoteke s rezultatima, pogledajte Izrada datoteka predloška za upis rezultata.
<?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>

Omogućavanje upisa rezultata u analize i dashboarde

Administratori mogu omogućiti korisnicima uređivanje podataka iz analiza i dashboarda.

  1. Postavite semantički model.

    Bilješka:

    Ako ste semantičke modele razvijali s pomoću alata za administriranje modela, slijedite ove korake. Ako upotrebljavate alat za modeliranje semantike, pogledajte

    Omogućavanje upisa rezultata u stupcima .

    1. U alatu za administriranje modela otvorite semantički model (.rpd datoteku).
    2. U fizičkom sloju dvaput pritisnite fizičku tablicu koja sadrži stupac za koji želite omogućiti upisivanje rezultata.
    3. Na kartici Općenito dijaloškog okvira Fizička tablica provjerite da nije odabrana opcija Može se spremiti u cache memoriju. Poništavanjem odabira ove opcije osigurava se da korisnici servisa Presentation Services mogu odmah vidjeti ažuriranja.
    4. U sloju Poslovni model i mapiranje dvaput pritisnite odgovarajući logični stupac.
    5. U dijaloškom okviru Logički stupac odaberite Može se pisati, a zatim pritisnite U redu.
    6. U sloju Prezentacija dvaput pritisnite stupac koji odgovara logičkom stupcu za koji ste omogućili upis rezultata.
    7. U dijaloškom okviru Prezentacijski stupac pritisnite Dopuštenja.
    8. Odaberite dopuštenja za čitanje/pisanje za odgovarajuće korisnike i aplikacijske uloge.
    9. Spremite promjene.
  2. Stvorite XML dokumente sa svojim predloškom (ili predlošcima) za upisivanje rezultata. Pogledajte Izrada datoteka predloška za upis rezultata.

    XML dokument može sadržavati više predložaka. Ovaj primjer pokazuje XML dokument koji sadrži dva predloška (SetQuotaUseID i 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>
    Napomena: Morate uključiti element <insert> i element <update>, čak i ako se ne upotrebljavaju oba. Npr., ako vršite samo insert, morate uključiti praznu naredbu update <update></update>.
  3. Kopirajte XML dokument koji sadrži vaše predloške za upis rezultata u međuspremnik.
  4. Primijenite predložak za upis rezultata na servis Oracle Analytics:
    1. Pritisnite Konzola, a zatim Napredne postavke sustava.
    2. U XML predložak za upis rezultata zalijepite predložak za upis rezultata koji ste kopirali u 3. koraku.
  5. Odobravanje dopuštenja za upotrebu koda za upis rezultata:
    1. Otvorite klasičnu početnu stranicu i pritisnite Administracija.
    2. Pod Sigurnost pritisnite Upravljanje povlasticama i idite na Upis rezultata.
    3. Odobrite Upis rezultata u bazu podataka provjerenom korisniku.
    4. Odobrite Upravljanje upisom rezultata administratoru servisa BI.
  6. Postupak omogućavanja upisa rezultata u stupce:
    1. U uređivaču analize prikažite Svojstva stupca za stupac u kojem želite omogućiti upis rezultata.
    2. U dijaloškom okviru Svojstva stupca pritisnite karticu Upis rezultata.
      Ako je stupac omogućen za upis rezultata u semantički model, tada je dostupan okvir Omogući upis rezultata.
    3. Odaberite opciju Omogući upis rezultata.
    4. Odredite vrijednost drugih opcija ako želite promijeniti zadanu postavku.
    5. Spremite promjene.
    Stupac je omogućen za upis rezultata u bilo koju analizu koja uključuje ovaj stupac.
  7. Postupak omogućavanja upisa rezultata u pregledu tablica:
    1. Otvorite uređivač analize i otvorite pregled tablice za uređivanje.
    2. Pritisnite Prikaži svojstva.
    3. U dijaloškom okviru Svojstva tablice pritisnite karticu Upis rezultata.
    4. Odaberite opciju Omogući upis rezultata.
    5. Odaberite okvir Naziv predloška, definirajte vrijednost "WebMessage name=" u predlošku za upis rezultata koji ste definirali u 2. koraku.
      Primjerice, Naziv predloška za primjer predloška u 2. koraku je "SetQuotaUseID".
    6. Spremite promjene.

Ograničenja upisa rezultata

Korisnici mogu upisivati rezultate za bilo koji izvor podataka koji dopušta izvođenje SQL upita iz servisa Oracle Analytics.

Dok konfigurirate upis rezultata, imajte na umu sljedeća ograničenja:

  • Brojčani stupci smiju sadržavati samo brojeve. Ne smiju sadržavati znakove za formatiranje podataka poput znakova za dolar ($), znakova za funtu ili rešetke (#), znakova za postotak (%) itd.

  • Tekstni stupci smiju sadržavati samo podatke niza.

  • Ako prijavljeni korisnik već pregledava dashboard koji sadrži analizu u kojoj su podaci modificirani upisom rezultata, podaci u dashboardu neće se automatski osvježiti. Za prikaz ažuriranih podataka, korisnik mora ručno osvježiti dashboard.

  • Mehanizam predloška možete upotrijebiti samo s tabličnim prikazima i samo za podatke s jednom vrijednošću. Mehanizam predloška nije podržan za prikaze zaokretnih tablica niti za bilo koju drugu vrstu prikaza, za podatke s više vrijednosti ili za padajuće stupce s podacima s jednom vrijednošću.

  • Sve vrijednosti u stupcima s rezultatima upisa mogu se uređivati. Nakon prikazivanja u kontekstu koji nije prilagođen pisačima, polja za uređivanje prikazat će se ako korisnik ima ovlaštenje Upis rezultata u bazu podataka. Međutim, ako je logički stupac mapiran u fizički stupac koji se može mijenjati, logički stupac vratit će vrijednosti za presjeke na više razina. Takav scenarij može uzrokovati probleme.

  • Svako polje u analizi može biti označeno kao polje za upis rezultata, čak i ako nije izvedeno iz tablice za upis rezultata koju ste sami stvorili. Međutim, nećete moći uspješno pokrenuti operaciju upisa rezultata ako za tablicu nije omogućen upis rezultata. Dizajner sadržaja zadužen je za ispravno označavanje polja.

  • Predložak može sadržavati SQL naredbe različite od onih za insert i update. Funkcija upisa rezultata proslijedit će te naredbe u bazu podataka. Međutim, Oracle ne podržava niti preporučuje upotrebu naredbi različitih od onih za insert ili update.

  • Oracle Analytics izvršit će tek minimalnu provjeru valjanosti unosa podataka. Ako je polje numeričko, a korisnik unese tekstne podatke, Oracle Analytics to će prepoznati i spriječiti unos nevažećih podataka u bazu podataka. Međutim, neće prepoznati druge oblike unosa nevažećih podataka (vrijednosti izvan raspona, kombinacija teksta i brojeva i sl.). Nakon što korisnik pritisne gumb za upis rezultata i pokrene umetanje ili ažuriranje, nevažeći podaci rezultirat će porukom o pogrešci iz baze podataka. Korisnik će zatim moći ispraviti pogrešan unos. Dizajneri sadržaja mogu uključiti tekst u analizu upisa rezultata koji će pomoći korisniku, npr. "Unos kombiniranih alfanumeričkih vrijednosti u brojčano podatkovno polje nije dopušten".

  • Mehanizam predloška nije pogodan za unos proizvoljnih novih zapisa. Drugim riječima, nemojte ga upotrebljavati kao alat za unos podataka.

  • Kad stvarate tablicu za upis rezultata, pobrinite se da najmanje jedan stupac ne uključuje mogućnost upisa rezultata, ali uključuje vrijednosti koje su jedinstvene za svaki od redaka i nisu null.

  • Analiza upisa rezultata ne podržava dubinsku analizu. Budući da dubinske analize mijenjaju strukturu tablice, predložak za upis rezultata neće funkcionirati.

    Pozor:

    Mehanizam predloška uzima korisničke unose i zapisuje ih izravno u bazu podataka. Sami ste dužni pobrinuti se za sigurnost fizičke baze podataka. Za optimalnu sigurnost, tablice baze podataka za upis rezultata spremite u jedinstvenu instancu baze podataka.

Izrada datoteka predloška za upis rezultata

Datoteka predloška za upis rezultata je XML-formatirana datoteka koja sadrži jedan ili više predložaka za upis rezultata.

Predložak za upis rezultata sastoji se od elementa WebMessage koji definira naziv predloška, skup veza i SQL naredbe neophodne za umetanje i ažuriranje zapisa u stvorene stupce i tablice za upis rezultata. Kad dizajneri sadržaja omogućuju tablični prikaz za upis rezultata, moraju definirati naziv predloška za upis rezultata koji će se upotrijebiti za umetanje i ažuriranje zapisa u tabličnom prikazu.

Zahtjevi predloška za upis rezultata

Predložak za upis rezultata mora ispunjavati sljedeće zahtjeve:

  • WebMessage: Morate definirati naziv predloška za upis rezultata s pomoću atributa name u elementu WebMessage.

    Za pravilno funkcioniranje upisa rezultata, pri omogućavanju tabličnog prikaza za upis rezultata, dizajner sadržaja mora definirati naziv predloška za upis rezultata koji će se upotrijebiti za umetanje i ažuriranje zapisa u prikazu.

    U ovom primjeru prikazan je predložak za upis rezultata naziva SetQuotaUseID.

    <WebMessage name="SetQuotaUseID">
    
  • connectionPool: Za potrebe ispunjavanja sigurnosnih zahtjeva, morate definirati skup veza zajedno sa SQL naredbama za umetanje i ažuriranje zapisa. Te SQL naredbe navode vrijednosti koje se prosljeđuju u shemu za upis rezultata te omogućavaju generiranje SQL naredbi za izmjenu tablice baze podataka.

  • VALUES: Vrijednosti stupca može navoditi ID stupca ili položaj stupca. Preferira se upotreba ID-a stupca.

    Vrijednosti niza i datuma postavite u jednostruke navodnike. Jednostruki navodnici nisu obavezni za brojčane vrijednosti.

    • ID stupca - Svaki ID stupca generira se alfanumerički i nasumično. ID-ove stupaca možete pronaći u XML definiciji analize koja je dostupna u kartici Napredno uređivača analize. Npr., vrijednosti ID-a stupaca kao što su: @{c5f6e60e1d6eb1098}, @{c3a93e65731210ed1}, '@{c6b8735ea60ff3011}'

      Ako upotrebljavate ID-ove stupaca, upis rezultata nastavit će biti aktivan čak i u slučaju promjene redoslijeda stupaca.

      XML u kartici Napredno uređivača analize

    • Položaj stupca - Položaji stupaca započinju brojem 1. Npr., vrijednosti položaja stupaca kao što su: @1, @3, '@5'

      U slučaju promjene redoslijeda stupaca, upis rezultata više neće biti upotrebljiv i zbog toga se preferiraju ID-ovi stupaca.

  • U predložak morate uključiti oba elementa, <insert> i <update>. Ako u elemente ne želite uključiti SQL naredbe, morate umetnuti razmak između oznaka za otvaranje i zatvaranje. Npr., element morate unijeti kao:

    <insert> </insert>
    

    A ne:

    <insert></insert>
    

    Ako izostavite razmak, prikazat će vam se poruka s pogreškom upisa rezultata, npr. "Sustav ne može očitati predložak za upis rezultata 'moj_predložak'".

  • Ako vrsta podataka parametra nije cjelobrojna vrijednost ili realni broj, dodajte mu oznake jednostrukih navodnika. Ako baza podataka ne izvršava pohrane automatski, dodajte neobavezni čvor postUpdate nakon čvorova insert i update kako biste osigurali pokretanje pohrane. Čvor postUpdate tipično slijedi sljedeći primjer:

    <postUpdate>COMMIT</postUpdate>
    

Primjer datoteke predloška za upis rezultata s pomoću sintakse ID stupca

Datoteka predloška za upis rezultata koja navodi vrijednosti uz ID stupca može naličiti sljedećem primjeru:

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

Primjer datoteke predloška za upis rezultata s pomoću sintakse položaja stupca

Datoteka predloška za upis rezultata koja navodi vrijednosti uz položaj stupca može naličiti sljedećem primjeru:

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