Când un utilizator încearcă să ruleze o analiză, Oracle Analytics invocă funcţia validateAnalysisCriteria. Puteţi personaliza validateAnalysisCriteria pentru a valida şi bloca interogările pe baza propriilor criterii specifice. Dacă funcţia returnează true, interogarea rulează. Dacă funcţia returnează false sau afişează un mesaj, interogarea este blocată.
De exemplu, codul de mai jos este un exemplu pentru programul JavaScript denumit 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;
}
Dacă funcţia returnează orice altă valoare în afară de false, criteriile sunt considerate valide şi analiza rulează. Funcţia se utilizează şi pentru a valida criteriile pentru operaţiunile de previzualizare şi salvare.