Friday, July 4, 2014

Tree Prompt on Relational Models using Prompt API

There is already an article published on using single select tree prompt against relational models that makes use of prompt macros. This article focuses on using the Prompt API against the Tree prompt making it easier to use the Tree prompt against a relational model.

This method works for multi-select tree prompts as well. The solution can be extended to get prompt selected data for the various levels and using them individually in the reports for various other solutions.

Using this method we can do away with writing complex macros to massage the prompt data to suit the relational model.

The solution is simple:

Assuming the MUNs have Year, Q, Month included in them to help identify the levels, if not you will have to modify the sections referring to val.indexOf("Year"), val.indexOf("Q"), val.indexOf("Month") to match your MUN sections to identify Year, Quarter and Month:
  1. Have a couple of hidden text box prompts in the report depending on the number of levels you have in the tree prompt. 
  2. Use the prompt API to get the list of selected prompt values.
  3. Identify the level of the selected prompt value.
  4. Transform the prompt value to a relational value.
  5. Append the prompt value in the respective text box prompt.
  6. Create filters in the query passing in the text box prompt values.

Step 1: Create the tree prompt and a list report to get the required data.

Step 2: Name the tree prompt as "treePrompt".

Step 3: Create 3 hidden text box prompts named YearPrompt, QrtrPrompt, MonthPrompt.

Step 4: Create filters in the list query to accept the parameter values from YearPrompt, QuarterPrompt, MonthPrompt as mentioned below:
      (#csv(split(';',promptMany('pYear','token')))#)

Step 5: Insert an HTML item with the below prompt API code:

 <script>  
 function Prompts() {  
   var oCR = cognos.Report.getReport("_THIS_");  
   var treePrompt = oCR.prompt.getControlByName("treePrompt");  
   var YearPrompt = oCR.prompt.getControlByName("YearPrompt");  
   var QrtrPrompt = oCR.prompt.getControlByName("QrtrPrompt");  
   var MonthPrompt = oCR.prompt.getControlByName("MonthPrompt");  
   var vYear = ';';  
   var vQrtr = ';';  
   var vMonth = ';';  
   vPreString = "[";  
   vPostString = "]";  
   var vTree = treePrompt.getValues();  
   var valStart, valEnd;       
   for (i = 0; i < vTree.length; i++) {  
     var val = vTree[i].use;  
     if (val.indexOf("Year") > 0) {  
       valStart = val.lastIndexOf(vPreString);  
       valEnd = val.lastIndexOf(vPostString);  
       vYear = vYear.concat(val.substring(valStart + 1, valEnd));  
       vYear = vYear.concat(";");  
     }  
     if (val.indexOf("Q") > 0) {  
       valStart = val.lastIndexOf(vPreString);  
       valEnd = val.lastIndexOf(vPostString);  
       vQrtr = vQrtr.concat(val.substring(valStart + 1, valEnd));  
       vQrtr = vQrtr.concat(";");  
     }  
     if (val.indexOf("Month") > 0) {  
       valStart = val.lastIndexOf(vPreString);  
       valEnd = val.lastIndexOf(vPostString);  
       vMonth = vMonth.concat(val.substring(valStart + 1, valEnd));  
       vMonth = vMonth.concat(";");  
     }  
   }  
   var vYearArr = new Array();  
   var clmns = {  
     use: vYear  
   };  
   vYearArr[0] = clmns;    
   YearPrompt.setValues(vYearArr);  
   var vQrtrArr = new Array();  
   var clmnsQrtr = {  
     use: vQrtr  
   };  
   vQrtrArr[0] = clmnsQrtr;    
   QrtrPrompt.setValues(vQrtrArr);  
   var vMonthArr = new Array();  
   var clmnsMonth = {  
     use: vMonth  
   };  
   vMonthArr[0] = clmnsMonth;    
   MonthPrompt.setValues(vMonthArr);  
   oCR.sendRequest(cognos.Report.Action.FINISH);  
 }  
 </script>  





22 comments:

Viswa said...

Hi, very interesting information for me,I read the article with pleasure.Thank you admin of this site for interesting and useful information.

CognosPaul said...

Hey Zephyr,

If you've left a comment on my blog - leave another with your email?

INFORMATICA INTERVIEW QUESTIONS said...

Very Useful Information
Best Informatica Online Training INDIA, USA, CANADA, AUSTRALIA...
Visit Best Informatica Online Training

Unknown said...

Good explanation, step by step with images. anyone can understand very easily and clearly.Online COGNOS Training Classes

Unknown said...

Great information is been provided, i thank the blogger for implementing these ideas and explaining it here in a much better way, i have learned alot on Cognos from here, when i was getting trained by monstercourses online , there experts teach you in a much excellent way, pls visit: http://www.monstercourses.com/courses/data-warehousing/ibm-cognos-online-training

oracleR12 said...

Hi,
Great information is been provided, i thank the blogger for implementing these ideas and explaining it here in a much better way. I am glad that you shared this information with us.
Thank you.
oracle fusion training

Unknown said...

we are offering best Biztalk online training with job support and high-quality training facilities and well expert faculty. To Register you free demo please visit.
Cognos TM1 Online Training

Unknown said...

Very Useful you are shared on Cognos TM1 Online Training

Unknown said...

Thanks for sharing such beautiful information with us.


Biztalk Online Training Hyderabad

Ancy merina said...
This comment has been removed by the author.
Anonymous said...

Женские кожаные сумки дом сумок – это образец качества и стиля. При их созаднии употребляется итальянская кожа и детали, что создает сумкам износостойкость. Структура удивляет многообразием текстур: кроме глянцевых и шершавых представлены тканевые модели, с тиснением под черепаху или перфорированным принтом. Долговечная кожа делает сумки функциональными. За современное оформление отвечает бригада лучших дизайнеров, которая наблюдает за современными модными тенденциями.

Anonymous said...

Ниже отмечены центральные достижения коммуникации с нашей фирмой. Получите максимальные преимущества именно здесь https://snabtop.ru/. Широкий количество оборудования для сферы жилстроя.

Anonymous said...

Надежный и проверенный поставщик всегда сможет показать многочисленный подбор керамического покрытия для ванной. Бренд sotni.ru реализует купить плитку brick mix от geotiles в течение 15 лет.

Anonymous said...

Получить необходимую сумму на карточку очень легко. Крупнейший сайт выбора микрофинансовых продуктов разрешает приобрести необходимый кредит. Займ на карту без почты – это наилучший прием достать наличность в сжатые сроки.

Anonymous said...

Бонусный счет позволяет заработать немало денег. Верифицируйтесь на портале и найдете полезные бонусы в учетной записи. Стоит отметить, что ресурс casino x официальный зачисляет своим гемблерам дополнительные вознаграждения.

Anonymous said...

Онлайн-игры обрели существенную популярность во всем мире. Изменение новейших процессов позволило интернет сайтам серьезно оптимизировать предоставляемые сервисы. Казино казино х мобильная версия официальный – используйте преимущества надежной игры и выигрывайте реальные бабки.

Anonymous said...

Только лишь на странице мистер бит казино mr bit посетители с легкостью найдут интересную веб игру для отдыха. Веселиться в компании единомышленников значительно увлекательнее, чем сам по себе в своей квартире. Приходя в игровой клуб, игрок может нырнуть в интересные приключения.

Anonymous said...

СДЕЛАЙТЕ РАЦИОНАЛЬНЫЙ ВЫБОР – FRANK КАЗИНО ОФИЦИАЛЬНЫЙ САЙТ ВХОД 2020 ТВОЙ ВАРИАНТ НА ВЫИГРЫШ! В АЗАРТНЫХ ИГРАХ «ФРАНК» ВЫ СМОЖЕТЕ ЭЛЕМЕНТАРНО ОТЫСКАТЬ ОБЛАСТЬ РЕГИСТРАЦИИ НА ОСНОВНОЙ СТРАНИЦЕ ПЛОЩАДКИ. ПРИСОЕДИНЯЙТЕСЬ К ИГРАЛЬНОЙ ПЛАТФОРМЕ И ЛОВИТЕ ВЫГОДНЫЕ ПРИЗЫ В СВОЕМ КАБИНЕТЕ. АВТОРИЗАЦИЯ НА СТРАНИЦЕ ИГОРНЫЙ ДОМ FRANKCASINOCLUB НЕ ЗАНИМАЕТ МНОГО ВРЕМЕНИ.

Anonymous said...

В целях познакомиться с платформой интегрирован тестовый счет. Большие ставки в игральных автоматах – это элементарный способ дешевно передохнуть и проверить собственную судьбу. На портале joycasino мобильное приложение представлено огромное число игр.

Anonymous said...

Кафельная отлично подходит к каждому интерьеру. Наилучший выбор плитки способен украсить какую угодно прихожую или ванную комнату. Подбирая недорогой продукт как, например - ape lord плитка купить без всяких сомнений придется отобрать множественное количество типов. Сконцентрируйтесь не только на настенной плитке заграничного изготовления, но и на российские виды.

Anonymous said...

Для регистрации заказа на морепродукты в соответствующем объеме достаточно обратиться к менеджеру или сделать онлайн заказ непосредственно в интернет-магазине «Красный жемчуг». Поставка выполняется прямо в день заказа. Приобрести икру http://mastersea.it/web/index.php?option=com_k2&view=itemlist&task=user&id=212573 есть возможность в розницу или крупной партией.

Anonymous said...

Любые методы ворожбы называются как астральные науки. Конкретный тип хиромантии исключительный и предназначен для разного рода целей. Гадание на рунах на сейчас и четкость предсказаний будущего напрямую зависит от умения гадающего. Каждый рассчитывает предугадать собственную судьбу и видит определенные способы ворожбы по максимуму действенными.