Možete razvijati prilagođene skripte za provjeru valjanosti u JavaScriptu za provjeru valjanosti kriterija analize i formula stupaca, uz blokiranje upita koji nisu valjani.
Korisnici koji rade s analizama mogu pozvati prilagođeni JavaScriptu za provjeru valjanosti kriterija analize i formula stupaca. Provjera valjanosti omogućava blokiranje upita pri uređivanju analize. Prilagođeni JavaScript mora biti dostupan putem web-poslužitelja. Za omogućavanje te značajke administratori navode URL web-poslužitelja u postavkama sustava i registriraju web-poslužitelj na popisu dopuštenih adresa.
Svaki put kad korisnik pokuša pokrenuti analizu, Oracle Analytics pozvat će funkciju validateAnalysisCriteria
. Možete prilagoditi validateAnalysisCriteria
radi provjere valjanosti i blokiranja upita temeljem vlastitih specifičnih kriterija. Ako funkcija vrati vrijednost true
, upit će se izvršiti. Ako funkcija vrati false
ili prikaže poruku, upit će biti blokiran.
Npr., u nastavku je ogledni kôd JavaScript programa po nazivu myblocking.js
.
// This is a blocking function. It ensures that users select what // the designer wants them to. function validateAnalysisCriteria(analysisXml) { // Create the helper object var tValidator = new CriteriaValidator(analysisXml); // Validation Logic if (tValidator.getSubjectArea() != "Sample Sales") return "Try Sample Sales?"; if (!tValidator.dependentColumnExists("Markets","Region","Markets","District")) { // If validation script notifies user, then return false alert("Region and District are well suited, do you think?"); return false; } if (!tValidator.dependentColumnExists("Sales Measures","","Periods","Year")) return "You selected a measure so pick Year!"; if (!tValidator.filterExists("Sales Measures","Dollars")) return "Maybe filter on Dollars?"; if (!tValidator.dependentFilterExists("Markets","Market","Markets")) return "Since you are showing specific Markets, filter the markets."; var n = tValidator.filterCount("Markets","Region"); if ((n <= 0) || (n > 3)) return "Select 3 or fewer specific Regions"; return true; }
Ako funkcija vrati bilo što drugo osim false
, kriteriji će se smatrati valjanima i analiza će se izvršiti. Funkcija služi i za provjeru valjanosti kriterija operacija za pregled i spremanje.
Svaki put kad korisnik pokuša unijeti ili izmijeniti formulu stupca, Oracle Analytics pozvat će funkciju validateAnalysisFormula
za provjeru valjanosti operacije. Možete prilagoditi validateAnalysisFormula
za provjeru valjanosti i blokiranje formula temeljem vlastitih specifičnih kriterija. Ako funkcija vrati true
, formula će biti prihvaćena. U slučaju neuspješne provjere valjanosti, funkcija će vratiti false
, formula će biti odbijena i prikazat će se vaša prilagođena poruka.
Radi prikazivanja poruke, a kako bi korisnici mogli nastaviti s radom, vaša funkcija mora vratiti true
. Za blokiranje upita vaša funkcija mora vratiti false
ili prikazati poruku. Možete upotrijebiti JavaScript niz i tehnike regularnih izraza u svojoj funkciji da biste istražili i potvrdili formulu.
Dostupne su funkcije pomoći kako bi funkcija za blokiranje upita mogla provjeravati filtre, stupce itd. Pogledajte Pomoćne funkcije za provjeru valjanosti.
Npr., sljedeći kôd pokazuje kako blokirati upit ako korisnik unese neprihvatljivu formulu.
// This is a formula blocking function. It makes sure the user doesn't enter an unacceptable formula. function validateAnalysisFormula(sFormula, sAggRule) { // don't allow the use of concat || in our formulas var concatRe = /\|\|/gi; var nConcat = sFormula.search(concatRe); if (nConcat >= 0) return "You used concatenation (character position " + nConcat + "). That isn't allowed."; // no case statements var caseRe = /CASE.+END/gi; if (sFormula.search(caseRe) >= 0) return "Don't use a case statement."; // Check for a function syntax: aggrule(formula) aggrule shouldn't contain a '.' var castRe = /^\s*\w+\s*\(.+\)\s*$/gi; if (sFormula.search(castRe) >= 0) return "Don't use a function syntax such as RANK() or SUM()."; return true; }
Možete upotrijebiti nekoliko pomoćnih funkcija za provjeru valjanosti koje su dostupne u JavaScript datoteci.
Pomoćna funkcija za provjeru valjanosti | Opis |
---|---|
|
Vraća naziv predmetnog područja koje je navedeno u analizi. Općenito se upotrebljava u naredbi za preklapanje unutar funkcije prije drugih provjera valjanosti. Ako se analiza sastoji od kriterija na temelju skupa, vratit će |
|
Vraća |
|
Vraća |
|
Provjerava postoji li |
|
Vraća |
|
Provjerava postoji li |
|
Vraća broj vrijednosti filtra koje su navedene za dani logički stupac. Ako je vrijednost filtra " |