תוכל לפתח תסריטי בדיקת תקינות ב-JavaScript כדי לאשר תקינות לקריטריוני ניתוח ונוסחאות עמודות וכדי לחסום שאילתות לא תקפות.
משתמשים העובדים עם ניתוחים יכולים להפעיל JavaScript מותאם אישית כדי לאשר את תקינותם של קריטריוני ניתוח ונוסחאות עמודות. בדיקת התקינות מאפשרת חסימת שאילתות בעת עריכת ניתוח. ה-JavaScript המותאם אישית חייב להיות נגיש דרך שרת אינטרנט. כדי לאפשר תכונה זו, מנהלנים מציינים את כתובת ה-URL של שרת האינטרנט בהגדרות המערכת ורושמים את שרת האינטרנט כדומיין בטוח.
בכל פעם שמשתמש מנסה להריץ ניתוח, Oracle Analytics מפעיל את הפונקציה validateAnalysisCriteria
. תוכל להתאים אישית את validateAnalysisCriteria
כדי לאשר תקינות של שאילתות ולחסום אותן בהתבסס על הקריטריונים הספציפיים שלך. אם הפונקציה מחזירה true
, השאילתא רצה. אם הפונקציה מחזירה שקר
או מציגה הודעה, השאילתא חסומה.
לדוגמה, להלן קוד לדוגמה לתוכנית JavaScript בשם 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; }
אם הפונקציה מחזירה משהו אחר מלבד שקר
, הקריטריונים נחשבים לתקפים והניתוח רץ. הפונקציה משמשת גם לאימות קריטריונים לתצוגה מקדימה ופעולות שמירה.
בכל פעם שמשתמש מנסה להזין או לשנות נוסחת עמודה, Oracle Analytics מפעיל את הפונקציה validateAnalysisFormula
כדי לאמת את הפעולה. תוכל להתאים אישית את validateAnalysisFormula
כדי לאשר תקינות של נוסחות ולחסום אותן בהתבסס על הקריטריונים הספציפיים שלך. אם הפונקציה מחזירה אמת
, הנוסחה מתקבלת. אם בדיקת התקינות נכשלת, הפונקציה מחזירה שקר
, הנוסחה נדחית וההודעה המותאמת אישית שלך מוצגת.
כדי להציג הודעה ולאפשר למשתמשים להמשיך, הפונקציה שלך צריכה להחזיר אמת
. כדי לחסום את השאילתא, על הפונקציה שלך להחזיר שקר
או להציג הודעה. תוכל להשתמש במחרוזת 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 לשימושך.
פונקציית מסייע בבדיקת תקינות | תיאור |
---|---|
|
מחזירה את שם תחום הנושא שאליו הניתוח מתייחס. הוא משמש בדרך כלל במשפט switch בתוך הפונקציה לפני ביצוע בדיקת תקינות אחרת. אם הניתוח הוא קריטריונים מבוססי סל, אז הוא מחזיר |
|
מחזירה |
|
מחזירה |
|
בודק כדי לוודא ש- |
|
מחזירה |
|
בודק כדי לוודא ש- |
|
מחזירה את מספר ערכי המסנן שצוינו בשביל העמודה הלוגית הנתונה. אם ערך המסנן הוא " |