Upis rezultata omogućava korisnicima ažuriranje podataka iz analiza.
Teme:
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:
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>
Administratori mogu omogućiti korisnicima uređivanje podataka iz analiza i dashboarda.
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.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.
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.
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>