조건에 따라 분석을 차단하는 JavaScript 개발

사용자가 분석 실행을 시도할 때마다 Oracle Analytics가 validateAnalysisCriteria 함수를 호출합니다. 고유한 특정 조건에 따라 질의를 검증 및 차단하도록 validateAnalysisCriteria를 사용자정의할 수 있습니다. 함수가 true를 반환하면 질의가 실행됩니다. 함수가 false를 반환하거나 메시지를 표시할 때는 질의가 차단됩니다.

예를 들어 다음은 myblocking.js라는 JavaScript 프로그램의 샘플 코드입니다.

// 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 이외의 값을 반환하면 조건이 적합한 것으로 간주되고 분석이 실행됩니다. 이 함수는 또한 미리보기 및 저장 작업의 조건을 검증하기 위해 사용됩니다.