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