عندما يحاول مستخدم إدخال معادلة عمود أو تعديلها، يستدعي Oracle Analytics الوظيفة validateAnalogyFormula للتحقق من العملية. يمكنك تخصيص validateAnalogyFormula للتحقق من صحة المعادلات وحظرها بناءً على معاييرك المحددة. إذا أرجعت الدالة true، فسيتم قبول المعادلة. إذا فشل التحقق من الصحة، فستقوم الوظيفة بإرجاع false، وسيتم رفض المعادلة ثم سيتم عرض رسالتك المخصصة.
لعرض رسالة والسماح للمستخدمين بالاستمرار، يجب أن تُرجع وظيفتك القيمة true. لحظر الاستعلام، يجب أن تُرجع وظيفتك القيمة false أو عرض رسالة. يمكنك استخدام سلسلة JavaScript وتقنيات التعبيرات العادية في وظيفتك للتحقيق والتحقق من صحة المعادلة.
تتوفر الوظائف المساعدة حتى تتمكن وظيفة حظر الاستعلام من التحقق من المرشحات والأعمدة وما إلى ذلك. يُرجى الاطلاع على وظائف مساعد التحقق من الصحة.
على سبيل المثال، توضح التعليمة البرمجية التالية كيفية حظر استعلام إذا قام مستخدم بإدخال معادلة غير مقبولة.
// 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;
}