Kifejleszthet egyéni érvényesítési parancsfájlokat JavaScript nyelven az elemzési feltételek és oszlopképletek érvényesítéséhez, valamint az érvénytelen lekérdezések blokkolásához.
Az elemzéseken dolgozó felhasználók meghívhatnak egyéni JavaScriptet az elemzési feltételek és az oszlopképletek ellenőrzéséhez. Az érvényesítés lehetővé teszi a lekérdezések blokkolását elemzés szerkesztésekor. Az egyéni JavaScriptnek webes kiszolgálón keresztül kell elérhetőnek lennie. E funkció engedélyezéséhez a rendszergazdáknak meg kell adni a rendszerbeállításokban a webkiszolgáló URL-címét, és a kiszolgálót biztonságos tartományként kell regisztrálni.
Amikor egy felhasználó elemzést próbál futtatni, az Oracle Analytics meghívja a validateAnalysisCriteria
függvényt. A validateAnalysisCriteria
testreszabható, hogy ellenőrizzen és blokkoljon lekérdezéseket a saját specifikus feltételeink szerint. Ha a függvény a true
értéket adja vissza, a lekérdezés fut. Ha a függvény a false
értéket adja vissza, vagy üzenetet jelenít meg, a lekérdezés blokkolva van.
Például a következő egy mintakód egy myblocking.js
nevű JavaScript-programhoz.
// 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; }
Ha a függvény által visszaadott érték nem false
, a program a feltételt érvényesnek tekinti, és az elemzés fut. A függvény használatos feltételek ellenőrzéséhez is a műveletek előnézetéhez és mentéséhez.
Amikor egy felhasználó megpróbál beírni vagy módosítani egy oszlopképletet, az Oracle Analytics meghívja a validateAnalysisFormula
függvényt a művelet ellenőrzéséhez. A validateAnalysisFormula
testreszabható, hogy ellenőrizzen és blokkoljon képleteket a saját specifikus feltételeink szerint. Ha a függvény a true
értéket adja vissza, a képlet elfogadott. Ha az érvényesítés nem működik, a függvény a false
, értéket adja vissza, a képlet elutasításra kerül, és megjelenik az Ön egyéni üzenete.
Üzenet megjelenítéséhez és annak engedélyezéséhez, hogy a felhasználók továbbléphessenek, a függvénynek a true
értéket kell visszaadnia. A lekérdezés blokkolásához a függvénynek a false
értéket kell visszaadnia, vagy egy üzenetet kell megjelenítenie. A függvényben JavaScript-karakterláncot és reguláris kifejezési technikákat használhat a képlet vizsgálatához és ellenőrzéséhez.
Rendelkezésre állnak segítő függvények, hogy a lekérdezést letiltó függvény ellenőrizhesse a szűrőket, oszlopokat stb. Lásd: Érvényesítést segítő függvények.
Például, a következő kód megmutatja, hogyan tiltsunk le egy lekérdezést, ha a felhasználó elfogadhatatlan függvényt ad meg.
// 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; }
Számos érvényesítést segítő függvény áll rendelkezésre, amelyeket egy JavaScript fájlban használhat.
Érvényesítést segítő függvény | Leírás |
---|---|
|
Visszaadja a tárgyterület nevét, amelyre az elemzés hivatkozik. Általában egy függvényen belüli switch utasításban használatos további érvényesítések elvégzése előtt. Ha az elemzés készlet alapú feltételekből áll, akkor |
|
|
|
|
|
Ellenőrzi, hogy létezik-e a |
|
|
|
Ellenőrzi, hogy létezik-e a |
|
Visszaadja az adott logikai oszlophoz meghatározott szűrőértékek számát. Ha a szűrőérték " |