tag:blogger.com,1999:blog-7692436999900586192024-02-08T11:51:09.277+05:30Cognos and MeZephyrhttp://www.blogger.com/profile/07017132376090028553noreply@blogger.comBlogger137125tag:blogger.com,1999:blog-769243699990058619.post-46748875254359187912014-07-04T17:18:00.002+05:302014-07-21T14:19:24.378+05:30Tree Prompt on Relational Models using Prompt API<div dir="ltr" style="text-align: left;" trbidi="on">
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.<br />
<br />
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.<br />
<br />
Using this method we can do away with writing complex macros to massage the prompt data to suit the relational model.<br />
<br />
The solution is simple:<br />
<br />
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:
<br />
<ol style="text-align: left;">
<li>Have a couple of hidden text box prompts in the report depending on the number of levels you have in the tree prompt. </li>
<li>Use the prompt API to get the list of selected prompt values.</li>
<li>Identify the level of the selected prompt value.</li>
<li>Transform the prompt value to a relational value.</li>
<li>Append the prompt value in the respective text box prompt.</li>
<li>Create filters in the query passing in the text box prompt values.</li>
</ol>
<br />
<b>Step 1:</b> Create the tree prompt and a list report to get the required data.<br />
<br />
<b>Step 2: </b>Name the tree prompt as "treePrompt".<br />
<br />
<b>Step 3:</b> Create 3 hidden text box prompts named YearPrompt, QrtrPrompt, MonthPrompt.<br />
<br />
<b>Step 4:</b> Create filters in the list query to accept the parameter values from YearPrompt, QuarterPrompt, MonthPrompt as mentioned below:<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> (#csv(split(';',promptMany('pYear','token')))#)<br />
<br />
<b>Step 5:</b> Insert an HTML item with the below prompt API code:<br />
<br />
<pre style="font-family:arial;font-size:12px;border:1px dashed #CCCCCC;width:99%;height:auto;overflow:auto;background:#f0f0f0;;background-image:URL
(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU_HoXjJVdNi1FZxuNUoS5LQDf4SxTa1CI4o4CxkMfnThof_D05fmd1SbmDNZNjwzah2slERdwrh4m5-eHWKztq43MBhoqsMkTtEINkOv0hwxQIyFyy95m7BmGoiMJLH7mRjGoLQbkEf_m/s320/codebg.gif);padding:0px;color:#000000;text-align:left;line-height:20px;"><code style="color:#000000;word-
wrap:normal;"> <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>
</code></pre>
<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOWw32eIh9r1Ft7LJRFg_8c4KNReZZ-uVofJU6gfvOkY_Gu75fww01tT0VLfzahAq45syYQ2c1vbvO6VCrMMUZhwdCsp5QOBtE2GJiF_Z6lqit4lgUP0pZJ2monhy7XnfcCttJ-H6sHklN/s1600/Tree+Prompt+on+Relational+Models+1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOWw32eIh9r1Ft7LJRFg_8c4KNReZZ-uVofJU6gfvOkY_Gu75fww01tT0VLfzahAq45syYQ2c1vbvO6VCrMMUZhwdCsp5QOBtE2GJiF_Z6lqit4lgUP0pZJ2monhy7XnfcCttJ-H6sHklN/s1600/Tree+Prompt+on+Relational+Models+1.png" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnX_eQMIOyYMvIyJZBDGMV7jXRwJbEslA8HXjrtoP31yRn2uTERKu26ZAW-zgeJfJcn9Yy6uybYlcmzGbhkuLw5IeN4VBRwKVla4EbVc7F63CBg-ZwRUyFw7rKJPEAosPr3j5t34ZIJS4H/s1600/Tree+Prompt+on+Relational+Models+2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnX_eQMIOyYMvIyJZBDGMV7jXRwJbEslA8HXjrtoP31yRn2uTERKu26ZAW-zgeJfJcn9Yy6uybYlcmzGbhkuLw5IeN4VBRwKVla4EbVc7F63CBg-ZwRUyFw7rKJPEAosPr3j5t34ZIJS4H/s1600/Tree+Prompt+on+Relational+Models+2.png" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiReZn3lDlQ8FJ_YohhR1utu8DT8UEJ-M32lTFM-2pFnHM37oTc5dy0HGCXVym1QKzxAGCieylNma76dG7HqAS2zd37fRdajQgtKsyQCyThpprmteqcRo-26lkxd6ywzJyluNclwq5dKdtG/s1600/Tree+Prompt+on+Relational+Models+3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiReZn3lDlQ8FJ_YohhR1utu8DT8UEJ-M32lTFM-2pFnHM37oTc5dy0HGCXVym1QKzxAGCieylNma76dG7HqAS2zd37fRdajQgtKsyQCyThpprmteqcRo-26lkxd6ywzJyluNclwq5dKdtG/s1600/Tree+Prompt+on+Relational+Models+3.png" /></a></div>
<br /></div>Zephyrhttp://www.blogger.com/profile/07017132376090028553noreply@blogger.com22tag:blogger.com,1999:blog-769243699990058619.post-48760238837316519062014-06-10T09:53:00.002+05:302014-06-10T09:53:42.444+05:3010.2.1 Defects - Workspace<div dir="ltr" style="text-align: left;" trbidi="on">
The below are against 10.2.1 DMR model using DQM mode.<br />
<br />
For most of the defects the report has a crosstab with prompts on the report page to dynamically select rows and measures and a period tree prompt to select the period columns. The report has drills enabled.<br />
<br />
Again, will update defect numbers as we get them. But that seems to be a time consuming process and am not the one involved.<br />
<br />
<b>Drill through lost on drill down</b><br />
<br />
<b>Drills not synched between chart and crosstab</b> - Drill down on Product, Quarter combination in chart does not get reflected in crosstab<br />
<br />
<b>Drill on measures not synched between chart and crosstab</b> - Drill down on fact cell intersection on chart does not reflect correctly in crosstab<br />
<br />
<b>Drill up and re-prompt doesn’t get reflected</b> - Drill up on first run of the report and reset dimension. New dimension does not get reflected in objects<br />
<br />
<b>Resetting prompted widgets will re-prompt and then selecting different prompt values does not have any effect on the widgets.</b><br />
<br />
<b>Drill up/down and drill through doesn't pass all context values to the drill through report.</b><br />
<br />
<b>Charts - Drill and prompt on the same hierarchy does not reflect once drills are enacted </b>- If a prompt dimension is used as series or categories then once a drill is acted upon the series/category re-prompting does not have any effect.<br />
<br />
<b>Drills get enabled and disabled intermittently on categories/rows and series/columns </b>- Initially chart, crosstab do not have drills enabled on the time period series as set up in the report. Once drills are executed on the fact cells or on the chart intersections the drills become enabled on the time series.<br />
<div>
<br /></div>
<div>
<br /></div>
</div>
Zephyrhttp://www.blogger.com/profile/07017132376090028553noreply@blogger.com1tag:blogger.com,1999:blog-769243699990058619.post-41143938390917538372014-06-05T16:02:00.002+05:302014-06-05T16:02:43.201+05:30Cognos 10.2.1 DQM DMR Defects - Part 2<div dir="ltr" style="text-align: left;" trbidi="on">
<b>Drill and Re select Dimension with Render Variable - Behaves differently if measure is based on data item vs measure based on prompt macro.</b><br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>If 2 members are defined - one with a token prompt macro and another with an MDX expression defined on top of the first data item. If member sets are defined on the 2 members and drill behvaiour set for the first member to replace expression and the second expression to preserve. Drill up/down on one dimension and then resetting dimension and then drilling up/down does not work.<br />
<br />
<b>Prompt Macro and MDX Expressions - topCount with token prompt macro</b><br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Not all MDX expressions work on prompt macro. topCount does not work on a data item that has #prompt(,'token')#.<br />
<br />
<b>Prompt Macro and MDX Expressions - roleValue with MUN prompt macro</b><br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>Not all MDX expressions work on prompt macro. roleValue does not work on a data item that has #prompt(,'memberUniqueName')#.<br />
<br />
<b>Periods to Date does not work as expected with any expression in the 2nd argument in CQM mode.</b><br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>It has to be a member for the right result to be returned. Even if the expression returns a member, PTD does not work correctly and returns only one period. This is only in CQM mode.<br />
<br />
I will list out a couple of Workspace defects in the next article.<br />
<br />
<br /></div>
Zephyrhttp://www.blogger.com/profile/07017132376090028553noreply@blogger.com4tag:blogger.com,1999:blog-769243699990058619.post-27812089712732672812014-05-19T16:08:00.000+05:302014-05-19T16:08:16.922+05:3010.2.1 DQM DMR Defects - Part 1<div dir="ltr" style="text-align: left;" trbidi="on">
This is going to be quite a long list so am listing out only a few important ones and most of them relate to prompt macros and drills. These are all against 10.2.1 DMR model using DQM mode. I am not going to explain in detail with images unless someone wants me to since there are too many. I will update the article with Defect Numbers as we receive them.<br />
<br />
For most of the defects the report has a crosstab with prompts on the report page to dynamically select rows and measures and a period tree prompt to select the columns. The report has drills enabled.<br />
<b><br /></b>
<b>Level Label Calculation does not work as expected when using prompt macro and drills.</b><br />
<br />
When we use a data item with a prompt macro for crosstab rows to dynamically select the dimension, have drill enabled and have a query item to get Level Label using the prompt macro data item the level label does not get captured consistently.<br />
<br />
When we switch between dimensions in the prompt and then drill up/down the level label data item does not get reflected.<br />
<br />
<b>To disable member and data cache at report level for testing, query is set to use DB only and Use Local Cache is set to no. This causes charts to work incorrectly.</b><br />
<br />
Report has a period tree prompt with chart and crosstab displaying periods selected in the prompt. With Use Local Cache set to No, selection of periods in the tree prompt returns "No Data Available" message.<br />
<br />
<b>Prompt Macros with Data Item names in Value Prompts do not work</b><br />
<br />
If the value prompt Use Value is set to a Data Item name rather than a level then drilling up on one of the dimensions and then re-setting the dimension prompt to another dimension does not have any effect.<br />
<br />
<b>Prompt Macros with Filter Calculations in Value Prompts do not work</b><br />
<br />
Same as above except if the use value is set to include a filter expression then re-setting dimension does not work.<br />
<br />
<b>Drill and Prompt on same hierarchy - Drill up returns to selections made rather than following dimensional hierarchy.</b><br />
<br />
Select 2012, Q1 2012, Q1 2013 and run report. Drill down on 2012. Drill up on Q1 2012 takes you back to 2012, Q1 2012, Q1 2013 instead of showing list of years which is confusing to the users.</div>
Zephyrhttp://www.blogger.com/profile/07017132376090028553noreply@blogger.com1tag:blogger.com,1999:blog-769243699990058619.post-8330127459434544972014-05-19T15:53:00.003+05:302014-05-19T15:53:57.032+05:30Long Time No See<div dir="ltr" style="text-align: left;" trbidi="on">
Firstly a big thank you to all those who have been following this blog. And sorry for not being able to answer all your queries posted.<br />
<br />
Its been a long time since I've posted anything on this blog. That's because I got pulled out to work on another BI tool. I am still working on the same but got pulled back into helping a few colleagues with a couple of Cognos activities. In the past 2 weeks that I have been working on Cognos, 10.2.1 in particular I have come across a whole lot of defects and thought of at least listing out the same for the benefit of others out there. Most have to do with drills and token prompt macros. Workspace continues to disappoint me in terms of the number of defects related to drill.<br />
<br />
Hope I might be able to spend some time writing up a couple of new articles as well before I lose touch with Cognos.<br />
<br />
<br /></div>
Zephyrhttp://www.blogger.com/profile/07017132376090028553noreply@blogger.com1tag:blogger.com,1999:blog-769243699990058619.post-47808455242371472502012-10-26T11:38:00.001+05:302012-10-26T11:38:14.306+05:30By-Design Defects<div dir="ltr" style="text-align: left;" trbidi="on">
How often have you been told that something that you think is a defect is actually by design? Doesn't that mean that the design is flawed then?<br />
<br />
One such by-design-defect as I would like to call them was brought to my notice when some of my colleagues were trying to create a Reset Button functionality using only drill through to avoid using Java Scripts (since IBM does not support them) in 10.1.1.<br />
<br />
What happens is Cognos retains the parameter values between the drill through runs even if you do not set the target parameter values in the drill through options. And this happens only in Cognos Viewer not in Report Studio Viewer. <br />
<br />
The developers were informed that this was by design and were asked to use Javascript as a work around to achieve the functionality.<br />
<br />
Have you come across any more of such by-design defects?<br />
<br />
</div>
Zephyrhttp://www.blogger.com/profile/07017132376090028553noreply@blogger.com5tag:blogger.com,1999:blog-769243699990058619.post-29994592211215303742012-10-12T14:19:00.000+05:302012-10-12T14:19:18.787+05:30Defect - Burst Report Views through Event Studio<div dir="ltr" style="text-align: left;" trbidi="on">
With 10.1.1 developers no longer see the "Burst Report" checkbox when trying to burst report views through Event Studio.<br />
<br />
Create Jobs to burst report views and then use the Job inside of Event Studio to work around this.<br />
<br />
</div>
Zephyrhttp://www.blogger.com/profile/07017132376090028553noreply@blogger.com2tag:blogger.com,1999:blog-769243699990058619.post-8707238414207075572012-09-17T10:37:00.000+05:302012-09-17T10:37:15.116+05:30Cognos 10.2 - Prompt API announced<div dir="ltr" style="text-align: left;" trbidi="on">
IBM has announced a fully documented and supported Prompt API with Cognos 10.2 allowing report authors to now safely use the supported JavaScript API in their reports to control prompts.<br /><br />From the IBM website:<br /><br />•<i>The prompt API enables report authors to write JavaScript applications to customize the standard prompt functionality available in IBM Cognos Report Studio to query and set user selections, validate typed-in values using patterns, and set default values using expressions or query data for faster report authoring and a better report viewing experience.</i><br /><br />Here's the link to the article:<br /><br />http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS212-282&appname=USN#toc<br />
<br /></div>
Zephyrhttp://www.blogger.com/profile/07017132376090028553noreply@blogger.com8tag:blogger.com,1999:blog-769243699990058619.post-70168976686593853872012-09-17T10:36:00.000+05:302012-09-17T10:36:19.600+05:30Limitation - Descendants MDX Function against Sets/Hierarchy<div dir="ltr" style="text-align: left;" trbidi="on">
Though it is documented on the IBM Support Site that Descendants against Set functions may result in incorrect outcome, wish there was a way we could work around this limitation.<br /><br />Some reasons why we may need Descendants function against a Hierarchy name rather than a member is:<br />
<ul style="text-align: left;">
<li>When we use TM1 as the source and have security set up such that a user has access to the lower level members of a dimension hierarchy but not to the root member of the hierarchy (which is perfectly valid in our business scenario).</li>
<li>And we do not have named levels set up since we deal with unbalanced hierarchies, again valid when dealing with Accounts dimension.</li>
<li>And we have multiple alternate hierarchies set up against a dimension.</li>
</ul>
<div style="text-align: left;">
<br />So in this case we are limited to using the descendants function against the hierarchy name rather than the root member which does not result in the required outcome.<br /><br />So one of the work-around in this case is to use other MDX expressions like Descendants with Except to build the set required.<br /></div>
</div>
Zephyrhttp://www.blogger.com/profile/07017132376090028553noreply@blogger.com1tag:blogger.com,1999:blog-769243699990058619.post-81620540663473044662012-07-31T11:48:00.000+05:302012-07-31T11:48:04.470+05:30Defect - Drill on MDX expression based members<div dir="ltr" style="text-align: left;" trbidi="on">
Another one for the defect list and this in my opinion impacts a feature that is most important and that was working in earlier releases.<br /><br />The defect relates to drill up functionality on MDX based lowest level members.<br /><br />To re-create the issue:<br /><br />Create an MDX based query calculation, say children of Cooking Gear.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNIn17-vnj6UIKjEOQBmQDzO_a2R-Z6NRSkLmtd1Fr4cda-vzeM8AhErp-rnnKpW11ipli7iyZUgnJjudT2vpetJI6g37TQxX-a5gnCLmxvJU8LneLhOnfSnv2qqtqeOw1wk21BqdhabdH/s1600/Drill+up+on+MDX+based+Query+Items+-+img+1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="217" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNIn17-vnj6UIKjEOQBmQDzO_a2R-Z6NRSkLmtd1Fr4cda-vzeM8AhErp-rnnKpW11ipli7iyZUgnJjudT2vpetJI6g37TQxX-a5gnCLmxvJU8LneLhOnfSnv2qqtqeOw1wk21BqdhabdH/s320/Drill+up+on+MDX+based+Query+Items+-+img+1.jpg" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Drill up on TrailChef Water Bag <br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE_IPVhHGDa0CvB8rvM64mq9qTE88fODyzJ2uuBRJ1lwCSnGgZbF_MvOp_EfmgouK7G_2flr3N217hJnbHA93zfjKMESFsLMIoy8TcTRXDfI5det06Be0neDVD240EbDGIrKyMWh99h-Dn/s1600/Drill+up+on+MDX+based+Query+Items+-+img+2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="138" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhE_IPVhHGDa0CvB8rvM64mq9qTE88fODyzJ2uuBRJ1lwCSnGgZbF_MvOp_EfmgouK7G_2flr3N217hJnbHA93zfjKMESFsLMIoy8TcTRXDfI5det06Be0neDVD240EbDGIrKyMWh99h-Dn/s320/Drill+up+on+MDX+based+Query+Items+-+img+2.jpg" width="320" /></a></div>
<br /><br />
<br />
<br />
<br />
<br />
<br />
<br />
Drill up on Cooking Gear <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb697STF6SvlTBWGBfRUjbv4KKNECy3DC0Xs5yZ7-kDQGAYz3s21mgy7Yv-aRkBe0eyHgZDSEyftMvw8ooGI9PVbu2CLWZlMHDOnRc7IeKcHSlL94pFrIVKly0c5jClI_2MvAD1NLre-7h/s1600/Drill+up+on+MDX+based+Query+Items+-+img+3.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="114" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjb697STF6SvlTBWGBfRUjbv4KKNECy3DC0Xs5yZ7-kDQGAYz3s21mgy7Yv-aRkBe0eyHgZDSEyftMvw8ooGI9PVbu2CLWZlMHDOnRc7IeKcHSlL94pFrIVKly0c5jClI_2MvAD1NLre-7h/s320/Drill+up+on+MDX+based+Query+Items+-+img+3.jpg" width="320" /></a></div>
<br /><br />
<br />
<br />
<br />
<br />
<br />
Drill down on Golf Equipment <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXYQasP1nYuq6NXKpznCZO5GEKFHuRNStNNZk83QHE-SGRKGnY0cSfy8h53hoDmOkpN4A08pzldeTAGbwE3r6Ip1E30NulUxGJHAoakTNNHvuqnZjI2i6ib7r1_H8SXDg5cko0zwHLplcm/s1600/Drill+up+on+MDX+based+Query+Items+-+img+4.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXYQasP1nYuq6NXKpznCZO5GEKFHuRNStNNZk83QHE-SGRKGnY0cSfy8h53hoDmOkpN4A08pzldeTAGbwE3r6Ip1E30NulUxGJHAoakTNNHvuqnZjI2i6ib7r1_H8SXDg5cko0zwHLplcm/s1600/Drill+up+on+MDX+based+Query+Items+-+img+4.jpg" /></a></div>
<br /><br />
<br />
<br />
<br />
<br />
<br />
Drill down on Putters <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFTB54ZUucoQMuWF0YkVHthJcVygwXKOS0yUx01IunYT0bjIu5yOtttyt9LF34Bx-4mU-Z36KexLrIc6YKbuLXngvPqL-3kx7VpxWzMpwq3LMG09JgO5h3z8e5rz_vl8xmNC2p4xDUAc6l/s1600/Drill+up+on+MDX+based+Query+Items+-+img+5.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="92" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhFTB54ZUucoQMuWF0YkVHthJcVygwXKOS0yUx01IunYT0bjIu5yOtttyt9LF34Bx-4mU-Z36KexLrIc6YKbuLXngvPqL-3kx7VpxWzMpwq3LMG09JgO5h3z8e5rz_vl8xmNC2p4xDUAc6l/s320/Drill+up+on+MDX+based+Query+Items+-+img+5.jpg" width="320" /></a></div>
<br /><br />
<br />
<br />
<br />
<br />
Drill down on Course Pro Putter <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGJrFWFs3qOh1HR5iqAqkaaPks6D23_fIvMiLhuh1b52zmKqmgmBvUB4EPZCIcrkBVEs7yJ0qbz9-6K-WYOoxotAzHWuILZFLEzhEF13XoEtHXLMj4ZtJ2gFsFVN57uDOqe9QNJ9JVCYSF/s1600/Drill+up+on+MDX+based+Query+Items+-+img+6.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="45" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgGJrFWFs3qOh1HR5iqAqkaaPks6D23_fIvMiLhuh1b52zmKqmgmBvUB4EPZCIcrkBVEs7yJ0qbz9-6K-WYOoxotAzHWuILZFLEzhEF13XoEtHXLMj4ZtJ2gFsFVN57uDOqe9QNJ9JVCYSF/s320/Drill+up+on+MDX+based+Query+Items+-+img+6.jpg" width="320" /></a></div>
<br /><br />
<br />
<br />
Drill up on Course Pro Putter 109110 <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzTnk0JBDoKAfxkLKvWKFJdENS7sTmfijKN1frTfA6HoG1gXvYqcc8dpexjgkzyErXNJVEIfP9L3dMQO2UZKbQTxtavGObOFAK-pS3BKD4TwUXS3Meq6pym-rblNmHQTG_HLJPyIFJL_YD/s1600/Drill+up+on+MDX+based+Query+Items+-+img+7.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="217" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzTnk0JBDoKAfxkLKvWKFJdENS7sTmfijKN1frTfA6HoG1gXvYqcc8dpexjgkzyErXNJVEIfP9L3dMQO2UZKbQTxtavGObOFAK-pS3BKD4TwUXS3Meq6pym-rblNmHQTG_HLJPyIFJL_YD/s320/Drill+up+on+MDX+based+Query+Items+-+img+7.jpg" width="320" /></a></div>
<br /><span id="goog_1363560015"></span><span id="goog_1363560016"></span><span id="goog_1363560017"></span><span id="goog_1363560018"></span><br /><br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
We see children of Cooking Gear (the list we started with) instead of Course Pro Putter.<br /><br />Seems like the drill functionality in 10.1.1 has a lot of defects not just in Business Insight but in Cognos Viewer as well.<br />
<br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-769243699990058619.post-50867974128657346192012-07-05T12:02:00.000+05:302012-07-05T12:02:11.848+05:30Defect - Conditional Variables based on Members + Drill + Render Variable<div dir="ltr" style="text-align: left;" trbidi="on">
There are times when you would want to use conditional variables to hide/display drill through links in a crosstab. If your condition is based on levels its easy to achieve this using levelNumber roleValue. If your condition is based on member names then there is a possibility that you may run into errors under the following scenario:<br /><br />
<ol style="text-align: left;">
<li>Report has a conditional variable to drive the display of links and</li>
<li>Report has a ParamDisplayValue layout calculation that has Render Variable set on a completely different conditional variable and</li>
<li>You drill up/down on the member and then you select a value in a report page prompt and re-run the report you may run into the error: RSV-RND-0089 Failed to evaluate expression</li>
</ol>
<div style="text-align: left;">
This does not happen if you remove the render variable property on the layout calculation or you select prompt values and then carry out a drill activity<br /><br />To avoid this, create a caption() member, set that as a property of the row member and modify the condition to be based on this member.</div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<br /></div>
</div>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-769243699990058619.post-61659342104916412932012-06-14T14:22:00.000+05:302012-06-14T14:22:20.126+05:30Concurrent Query Execution<div dir="ltr" style="text-align: left;" trbidi="on">
Even though Concurrent Querying is supported and can be defined in Report Studio, it isn't necessary that concurrent querying takes place behind the scenes. This depends on the number of processes set up and the values configured for the various concurrent query execution parameters. <br />
<br />
By default Cognos executes queries sequentially unless the property is set in the report and also provided concurrent execution is enabled in the environment.<br />
<br />
To enable this in the environment, at the minimum the below parameters must be added to the report and/or batch report services:<br />
<br />
RSVP.CONCURRENTQUERY.NUMHELPERSPERPROCESS,<br />
RSVP.CONCURRENTQUERY.MAXNUMHELPERSPERREPORT<br />
<br />
More details on the parameters can be found in the Administration and Security guide.<br />
<br />
The NUMHELPERSPERPROCESS sets the number of query execution helpers. It needs to be kept in mind that each query execution helper spawns a new data source connection. <br />
<br />
The MAXNUMHELPERSPERREPORT sets the maximum query execution helpers available per report.<br />
<br />
In an environment that has:<br />
<br />
4 processes (2 high and 2 low affinity) <br />
NUMHELPERSPERPROCESS set to 2<br />
MAXNUMHELPERSPERREPORT set to 2<br />
<br />
The NUMHELPERSPERPROCESS allows for a maximum of (2 + 2 + 2) * 4 = 16<br />
<br />
If a report has 4 queries set to concurrent execution then this report will consume all query execution helpers with 2 queries being executed concurrently even though 4 have been set to execute concurrently.<br />
<br />
Thus it isnt' necessary that a query marked for concurrent execution will execute concurrently.<br />
<br /></div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-769243699990058619.post-88489476138642886542012-05-23T15:53:00.000+05:302012-05-23T15:53:18.267+05:30Defect - Duplicate Queries generated by Cognos<div dir="ltr" style="text-align: left;" trbidi="on">
I seem to be on a ride running into numerous defects over the last couple of months. The latest one being similar duplicate queries generated by Cognos in a particular scenario.<br />
<br />
As can be seen from the screenshot, Cognos generates 2 queries with no differences and both having the same name.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHp3bH-V-MeedaYSA908DqpLyzH84tytQtqaF5x4jO604PymCfKtIg7n42uVBhRVSfJIwzDYf2daPUHoDzIPTY7Fc9DE-IoaCWKFbjZzsEs1vmRhMqXvhZ-pfhJq2VItCuCsZ5ob6PMRPS/s1600/Duplicate+Queries+-+img+2.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="222" qba="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHp3bH-V-MeedaYSA908DqpLyzH84tytQtqaF5x4jO604PymCfKtIg7n42uVBhRVSfJIwzDYf2daPUHoDzIPTY7Fc9DE-IoaCWKFbjZzsEs1vmRhMqXvhZ-pfhJq2VItCuCsZ5ob6PMRPS/s320/Duplicate+Queries+-+img+2.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
This happens in the below scenario:<br />
<br />
When you have a singleton object before all other Objects in the report.<br />And when you have Prompt Macro as the first filter in the first object of the report.<br />
<br />
And if you have value prompts after the singleton but before the first chart/list/crosstab object, then these queries get duplicated as shown below:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHp3bH-V-MeedaYSA908DqpLyzH84tytQtqaF5x4jO604PymCfKtIg7n42uVBhRVSfJIwzDYf2daPUHoDzIPTY7Fc9DE-IoaCWKFbjZzsEs1vmRhMqXvhZ-pfhJq2VItCuCsZ5ob6PMRPS/s1600/Duplicate+Queries+-+img+2.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="222" qba="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHp3bH-V-MeedaYSA908DqpLyzH84tytQtqaF5x4jO604PymCfKtIg7n42uVBhRVSfJIwzDYf2daPUHoDzIPTY7Fc9DE-IoaCWKFbjZzsEs1vmRhMqXvhZ-pfhJq2VItCuCsZ5ob6PMRPS/s320/Duplicate+Queries+-+img+2.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
When each query counts towards performance, this isn't good. <br />
<br />
So the work-around is to have a Required prompt without macros as the first prompt in a list/crosstab/chart object. If one doesn't exist create a dummy required filter to get around-this.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
</div>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-769243699990058619.post-72401315860138478802012-05-23T15:47:00.001+05:302012-05-23T15:47:27.758+05:30Using Text Wrap property instead of setting Widths<div dir="ltr" style="text-align: left;" trbidi="on">
A lot of beginners in Cognos try to set list column widths to fit data to avoid text wrapping rather than using the White Space property. This is probably because the property name is misleading. <br />
<br />
So to all those beginners who didn't know, set the White Space property of a list column to No Wrap instead of trying to set fixed widths if the intention is to avoid the data displayed in the column from wrapping.<br />
<br />
</div>Unknownnoreply@blogger.com7tag:blogger.com,1999:blog-769243699990058619.post-89564469073194767052012-05-02T09:52:00.001+05:302012-05-02T09:52:59.365+05:30Defect - Advanced Drill Link with Higher level Default prompt selections?<div dir="ltr" style="text-align: left;" trbidi="on">
We have report with a value prompt on the report page and its default value is controlled by a prompt macro. The report also has a Pie chart and a Crosstab both based on different queries whose data items are linked for drills.The report is based on a cube.<br />
<br />
The observation is that when the default value for the prompt is set to a higher level of the dimension say the year level in a Time dimension and when a user selects any value from the drop down and does a drill on the pie chart categories member the drill links don't work in the Crosstab only the pie chart gets updated.<br />
<br />
This happens only the first time a selection is made. Selecting any other value and executing a drill on the pie chart categories and then selecting the same value and then executing a similar drill does not re-produce the above error.<br />
<br />
This also does not happen if you execute the drill without making any selections. Any selection later doesn't re-produce the error.<br />
<br />
So basically it seems like this happens for the first selection made and when you have a higher level member set as the default through a prompt macro. Once a drill is executed and then any number of drill executions later doesn't re-produce the error.<br />
<br />
This has been observed in a Pie - Crosstab combination and not in a Stacked Chart - Crosstab combination.<br />
<br />
Some screenshots against Go Sales Cube to demonstrate the observation against a simmplified requirement:<br />
<br />
First run of the report:<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwP-tBMDpgy-WOY_UUkt4lti-Ac8UY4NMI8MKDi9Yix5R8AuINQuL-3zPmkMzwPgIo33PahQBf8kWIWP4axOnK5jssPbQ1sJ0fVgaeDVugpiq0q5u7naRmLpIiC76EFd0siwaH4RW9_S5D/s1600/Advanced+Drill+Links+-+img+1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" oda="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwP-tBMDpgy-WOY_UUkt4lti-Ac8UY4NMI8MKDi9Yix5R8AuINQuL-3zPmkMzwPgIo33PahQBf8kWIWP4axOnK5jssPbQ1sJ0fVgaeDVugpiq0q5u7naRmLpIiC76EFd0siwaH4RW9_S5D/s320/Advanced+Drill+Links+-+img+1.jpg" width="298" /></a>
<br />
<br />On selection of January 2004 from the drop down and then executing a drill up on Pie chart for January 2004:<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkcalKfypLU-bNLOXWaMnfPwSoxGUR7eWZb-3sqsme8tV7eKPHu-bMh9qsfmKiQ60WDwlzMnnBZNk3AXhbXqWkvG56ucmX7MClIi3vKVVcxMJBiY-CXnc6yhX-9NbVjhtZ8mb99-m3GliD/s1600/Advanced+Drill+Links+-+img+2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" oda="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjkcalKfypLU-bNLOXWaMnfPwSoxGUR7eWZb-3sqsme8tV7eKPHu-bMh9qsfmKiQ60WDwlzMnnBZNk3AXhbXqWkvG56ucmX7MClIi3vKVVcxMJBiY-CXnc6yhX-9NbVjhtZ8mb99-m3GliD/s320/Advanced+Drill+Links+-+img+2.jpg" width="315" /></a>
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghrfU2US4oSduZksphs4vJa3NOH3r39N9ExQ8hXswC9vJxibEJIXu08qiwP6zqiLMYAPNf84MZ-YK0LVSGWn5uUykc9gOSB_Jrmzdvton_KX_enCx3ylXk81INiKm4SAJ-2QNrK3cfidQ8/s1600/Advanced+Drill+Links+-+img+3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" oda="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghrfU2US4oSduZksphs4vJa3NOH3r39N9ExQ8hXswC9vJxibEJIXu08qiwP6zqiLMYAPNf84MZ-YK0LVSGWn5uUykc9gOSB_Jrmzdvton_KX_enCx3ylXk81INiKm4SAJ-2QNrK3cfidQ8/s320/Advanced+Drill+Links+-+img+3.jpg" width="309" /></a>
<br />
The drill does not get reflected in the crosstab.
<br />
<br />On selection of Q1 2004 and then executing a drill up on the Pie chart:<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCcHwV7xfEiVVyp9h0a5UUQVcu4E5CQrxkj582dGVZS_2JPyH1Z5i01PIFVAfF4CDUt-Cuy1lI0eEtkIKYwidj4QtYM5eWfkS_g0v6ErX6FaplrmKb0GHXeGXPOPBOLuCzfZwupMI793LY/s1600/Advanced+Drill+Links+-+img+4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" oda="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCcHwV7xfEiVVyp9h0a5UUQVcu4E5CQrxkj582dGVZS_2JPyH1Z5i01PIFVAfF4CDUt-Cuy1lI0eEtkIKYwidj4QtYM5eWfkS_g0v6ErX6FaplrmKb0GHXeGXPOPBOLuCzfZwupMI793LY/s320/Advanced+Drill+Links+-+img+4.jpg" width="299" /></a>
<br />
The drill is reflected in the crosstab.
<br /><br />
When January 2004 is set as the default, first run of the report:<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlsaRucCMWeVoyNPDlsHf0oKLdFEZfLtYWMmtQnt3DzYIIj9eizyl_ppp9ZD7vcVMEUWbfW-J4P7RAbpVhAJtMisGySwgW5RydMRlPfzG0zEz1NV9v7DQmM1fcFOFF0AeJ0YE5QTI08m5y/s1600/Advanced+Drill+Links+-+img+5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" oda="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlsaRucCMWeVoyNPDlsHf0oKLdFEZfLtYWMmtQnt3DzYIIj9eizyl_ppp9ZD7vcVMEUWbfW-J4P7RAbpVhAJtMisGySwgW5RydMRlPfzG0zEz1NV9v7DQmM1fcFOFF0AeJ0YE5QTI08m5y/s320/Advanced+Drill+Links+-+img+5.jpg" width="310" /></a>
<br />
<br />
On selection of February 2004 and then executing a drill up on the pie chart:<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVoONcuaKLxcUIdMZs6B8Y0kl7ubvUYkF551dZfjVcfAhM_kSqMfW-Fq4aQEVp_Vxrvwy758FZyMH3cbPhsO8ADK6CDQ5OXhZdo6g8m3BIhu4MDMyHDuSZOSyKja3XSnobPraqK0u5Tk7R/s1600/Advanced+Drill+Links+-+img+6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" oda="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVoONcuaKLxcUIdMZs6B8Y0kl7ubvUYkF551dZfjVcfAhM_kSqMfW-Fq4aQEVp_Vxrvwy758FZyMH3cbPhsO8ADK6CDQ5OXhZdo6g8m3BIhu4MDMyHDuSZOSyKja3XSnobPraqK0u5Tk7R/s320/Advanced+Drill+Links+-+img+6.jpg" width="318" /></a>
<br />
The drill is reflected in the crosstab.
<br />
<br />
</div>
Unknownnoreply@blogger.com5tag:blogger.com,1999:blog-769243699990058619.post-4966009723241714752012-04-12T13:01:00.000+05:302012-04-12T13:01:11.264+05:30Cognos Insight<div dir="ltr" style="text-align: left;" trbidi="on">
To add on to what has been mentioned in the previous article, this new component from IBM allows users to pull in data from a number of sources and not just TM1 as I had wrongly assumed.<br />
<br />
From a licensing perspective this requires Advanced Business Author role or above for BI and TM1 contributor role or above for TM1. The tool integrates with Cognos 10.1.1 and TM1 10.1.<br />
<br />
Here's what else I could find on IBM site:<br />
<br />
<em>You have all the capabilities of the Insight Standard Edition plus: </em><br />
<em>• Import data from existing Cognos reports<br />• Share files using the Cognos Connection portal<br />• Publish and distribute content to the server for managed deployment<br />• Extend content created with Insight to other Cognos tools and interfaces like mobile and Web<br />• Use Insight as the interface to contribute to a managed planning process</em><br />
<br />
Since this is a stand-alone desktop tool, I am curious as to how it fits architecturally with other Cognos components and how requests are executed. Since it supports in-memory analysis is this in-memory analysis handled on BI server or on the client machine? And if it uses a TM1 engine behind the scenes, how do requests flow when reports are used as sources?<br />
<br />
If anyone has any inputs, questions, concerns as always please let us know. <br />
<br />
<br />
</div>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-769243699990058619.post-8424176092396559732012-04-11T11:13:00.000+05:302012-04-12T12:59:17.555+05:30All New IBM Cognos Insight<div dir="ltr" style="text-align: left;" trbidi="on">
IBM recently released a new component IBM Cognos Insight bundled with TM1 10. This is not related to Business Insight and is a separate Dashboarding component. I am yet to read up and evaluate this so expect more on this from me in later articles. The demos look cool though.<br />
<br />
The tool seems to be more inclined to supporting TM1 10 and has an in-memory analytic engine with write-back capabilities. Visually too this looks so much better than our Business Insight.<br />
<br />
But as always with any new release there are bound to be disappointments so the wish list here too is huge.<br />
<br />
More to follow.<br />
<br /></div>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-769243699990058619.post-91630896918312765892012-04-03T12:26:00.000+05:302012-04-03T12:26:24.941+05:30Multi Tab Portlets cause CPS PAG Error<div dir="ltr" style="text-align: left;" trbidi="on">
When using Multi Tabs portlet as the first tab in Cognos Connection, users might run into CPS-PAG-4801 error. The error is not consistent and refreshing the page renders the multi-tab portlet without error. THis does not happen when the multi tab portlet is placed after any of the other tabs. <br />
<br />
This has been logged as a defect and is due to authentication information not being passed on to the portlet when used as the first tab.<br />
<br />
The only work around is to use a HTML Viewer and have the URL for the Multi Tab portlet included in the HTML Viewer.<br />
<br /></div>Unknownnoreply@blogger.com5tag:blogger.com,1999:blog-769243699990058619.post-1220072894420518862012-03-05T10:44:00.000+05:302012-04-03T12:48:10.945+05:30Optimized Master Detail relationships with DQM, not really<div dir="ltr" style="text-align: left;" trbidi="on">
Here's an extract from IBM site on optimized master detail relationship using DQM (<a href="http://publib.boulder.ibm.com/infocenter/cbi/v10r1m0/index.jsp?topic=%2Fcom.ibm.swg.ba.cognos.dyn_query.10.1.0.1.doc%2Fc_master-detail.html">http://publib.boulder.ibm.com/infocenter/cbi/v10r1m0/index.jsp?topic=%2Fcom.ibm.swg.ba.cognos.dyn_query.10.1.0.1.doc%2Fc_master-detail.html</a>):<br />
<br />
<em>Optimized master detail relationships in reports</em><br />
<br /><em>Master detail relationships allow you to deliver information that would otherwise require two or more reports. <br /><br />You specify a relationship between the query in the master data container and the query in the detail data container. For example, you can combine a master list with a detail chart. The list can contain product lines and the chart can show details for each product line.<br /><br />With the dynamic query mode, master detail relationships are optimized. IBM® Cognos® pushes the master query as a separate edge to the detail query. Therefore, instead of sending one detail query to the data source for each master value, only one query is sent for HTML, PDF, and Microsoft Excel spreadsheet software output formats.<br /></em>That is not the case though when you check the profile tree logs. Master detail relationships, still execute the old fashioned way with DQM. I had this confirmed by IBM as well that this is as per design.<br />
I am posting this so developers don't get misleaded by the article. Wish IBM removes the misleading article.<br />
<br /> </div>Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-769243699990058619.post-33831862675793041022012-02-08T19:05:00.001+05:302012-02-08T19:05:53.393+05:30Business Insight - Limitations<div dir="ltr" style="text-align: left;" trbidi="on">
A lot has been said and written about Business Insight. While you will come across a lot of articles highlighting the good, jazzy and the positive features of Business Insight, I wanted to focus on some limitations in the use of Business Insight.<br />
<br />
Business Insight being a new technology/component from IBM, it has a lot of bugs that need to be fixed before we can benefit from the use of Insight. Most of these bugs that I have come across have to do with drill ups/downs. I consider these to be really important issues to be addressed as the primary shift in datasources is from relational to dimensional. The issues have been listed out in the article: <br />
<br />
Another big drawback that I find is with respect to prompts. Though Slider and Check-box List prompts are available, Insight lacks the availabilty of value prompts, date prompts. These need to be created inside of reports and users need to drag them into the Insight reports to make use of them. Value prompts when dragged into Insight are not jazzy enough to blend with the other components on the screen. <br />
<br />
Non Auto-Submit Value prompts when dragged into Insight cause individual Apply/Cancel buttons to appear for each such prompt.<br />
<br />
The available Slider and List Box prompt has another disadvantage. When these prompts are set inside Insight, users need to select a list of values that need to appear in the prompts. Though this makes sense when you think of Insight as an ad-hoc tool, how often do you come across users who are willing to spend a few minutes to create an ad-hoc dashboard. More often than not, the requirement is to have pre-authored dashboards and in such cases this limitation is huge. New values don't show up unless the user goes in and modifies the prompts each time.<br />
<br />
Another disappointment is you cannot convert the whole dashboard into different formats. You can only convert individual widget into various formats. So much for being able to take a snapshot of your dashboard.<br />
<br />
Even though Insight was meant to be an ad-hoc dashboard environment but gone are the days when dashboards were static. Users require ability to slice and dice their key metrics data. With the line between Dashboards and Reports are getting blurred at some places it would be great to have more prompting capability in Insight.<br />
<br />
Insight is a CPU intensive tool. Heavy dashboards can take a while to render.<br />
<br />
Having dished out about Insight limitations, I need to say, I really liked the slider feature. Wish we had such components available in RS. It would be great to have some of the jazzy looking Active Report Prompt components also available in RS.<br />
<br />
Your thoughts on Insight?<br />
<br />
</div>Unknownnoreply@blogger.com7tag:blogger.com,1999:blog-769243699990058619.post-61758226506896940352012-01-31T14:22:00.000+05:302012-02-08T18:58:45.905+05:30Hide/Display Drill Through Links based on Levels<div dir="ltr" style="text-align: left;" trbidi="on">
In a dimensional report, how do you hide/display drill through links based on the levels of a dimension when drills are enabled on the dimension? Layout calculations/Style Variables/Conditional Style conditions do not support MDX functions. So how do we identify the level of the dimension that you are at and apply conditions to the drill through links to hide or display them?<br />
<br />
This is where JavaScript comes to our rescue. As always, JS should be used at the developer's discretion as they are not supported by IBM and also these get executed at the client side and hence should not be used in data intensive reports.<br />
<br />
<strong>Solution:</strong><br />
<br />
<strong>Step 1:</strong> Create the base report and enable drills in the report.<br />
<br />
<strong>Step 2:</strong> Create the drill through links in the crosstab for the Quantity measure.<br />
<br />
<strong>Step 3:</strong> Insert another Quantity data item along side the Quantity measure without drill through links.<br />
<br />
<strong>Step 4:</strong> Insert a singleton, pointing to the Crosstab Query and insert a calculated data item: Ordinal - ordinal(level(item([Product line],0))).<br />
<br />
<strong>Step 5:</strong> Insert 2 HTML Items before and after the singleton.<br />
<br />
<div id='Lvl'><br />
</div><br />
<br />
<strong>Step 6:</strong> Insert 2 HTML items before and after the Quantity measure in the crosstab that doesn't have the drill through link.<br />
<br />
<div id='NoLinks'><br />
</div><br />
<strong>Step 7:</strong> Insert 2 HTML items before and after the Quantity measure in the crosstab that has the drill through link.<br />
<br />
<div id='Links'><br />
</div><br />
<br />
<strong>Step 8:</strong> Insert a HTML item below the crosstab. Include the below JS:<br />
<br />
<em><span style="font-size: x-small;"><script></span></em><br />
<em><span style="font-size: x-small;">var Lvl = document.getElementById('Lvl');<br />var LvlSpan = Lvl.getElementsByTagName('span')[0];<br />var LvlVal = LvlSpan.innerHTML;</span></em><br />
<em><span style="font-size: x-small;">if(LvlVal==4)<br />{<br />for(i=0;i < document.getElementsByTagName('div').length;i++)<br />{<br />if(document.getElementsByTagName('div')[i].id=='Links')<br />{<br />document.getElementsByTagName('div')[i].style.display = 'block';<br />}<br />if(document.getElementsByTagName('div')[i].id=='NoLinks')<br />{<br />document.getElementsByTagName('div')[i].style.display = 'none';<br />}<br />}<br />}<br />else<br />{</span></em><br />
<em><span style="font-size: x-small;">for(i=0;i < document.getElementsByTagName('div').length;i++)<br />{<br />if(document.getElementsByTagName('div')[i].id=='Links')<br />{<br />document.getElementsByTagName('div')[i].style.display = 'none';<br />}<br />if(document.getElementsByTagName('div')[i].id=='NoLinks')<br />{<br />document.getElementsByTagName('div')[i].style.display = 'block';<br />}<br />}</span></em><br />
<em><span style="font-size: x-small;">}</span></em><br />
<em><span style="font-size: x-small;"></script></span></em><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUg_Y9OPdyb4TR1HOhHpf1k6oAkzzBQC4rWee6nku8A4qagND_0PS4whNfwo4tFeP_P0qOORIN3DsQNZpLys01RWlnD9UzFY-Trckdr1-EllGKPondZUr-s9RJUUmQ038S1tnJAGBTatmz/s1600/Level+Based+Links+-+img+3.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="53" sda="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUg_Y9OPdyb4TR1HOhHpf1k6oAkzzBQC4rWee6nku8A4qagND_0PS4whNfwo4tFeP_P0qOORIN3DsQNZpLys01RWlnD9UzFY-Trckdr1-EllGKPondZUr-s9RJUUmQ038S1tnJAGBTatmz/s320/Level+Based+Links+-+img+3.jpg" width="320" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGJv8siTYRSpmwXGwKvv7s9i5uL5lHeCLaH9kRe6n6bbzBs5Yk03yfJX0djTU6RjIYPm8plT-XlLgV5nM4RHYMzwmIwjBP9NVaLUOFSfAcO-CWh5Nnj7W-4ZkXAFm6SfTQKesDgLudLEtU/s1600/Level+Based+Links+-+img+1.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="153" sda="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGJv8siTYRSpmwXGwKvv7s9i5uL5lHeCLaH9kRe6n6bbzBs5Yk03yfJX0djTU6RjIYPm8plT-XlLgV5nM4RHYMzwmIwjBP9NVaLUOFSfAcO-CWh5Nnj7W-4ZkXAFm6SfTQKesDgLudLEtU/s320/Level+Based+Links+-+img+1.jpg" width="320" /></a></div>
<div style="font-size: 7pt;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCsMMPSvV4WyBnyOJyohv2ZwNRaeR3XZiH6JWtjP5a-wLhIIaJWWHSlqMR9ZqHVUJnPBZrgvKD7h_iRB_1PjgHv0SjFGrL6wTJQjzdaSyDft8FhswZSTHjDA0wrSuTdyLnI4_3gVG-JhuH/s1600/Level+Based+Links+-+img+2.jpg" imageanchor="1" style="clear: left; cssfloat: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="84" sda="true" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCsMMPSvV4WyBnyOJyohv2ZwNRaeR3XZiH6JWtjP5a-wLhIIaJWWHSlqMR9ZqHVUJnPBZrgvKD7h_iRB_1PjgHv0SjFGrL6wTJQjzdaSyDft8FhswZSTHjDA0wrSuTdyLnI4_3gVG-JhuH/s320/Level+Based+Links+-+img+2.jpg" width="320" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<b>Note:</b> These techniques use JavaScript against underlying report objects in a IBM Cognos 8 BI report. For this reason, there is no guarantee that reports created using these techniques will migrate or upgrade successfully to future versions without requiring modifications. Any such modifications are the responsibility of the report designer.<br />
</div>
<br />
<div>
</div>
<div style="height: 250px; overflow: auto; width: 100%;">
<table border="1"><tbody>
<tr><td><report xmlns="<a href="http://developer.cognos.com/schemas/report/8.0/">http://developer.cognos.com/schemas/report/8.0/</a>" useStyleVersion="10" expressionLocale="en-us"><br /> <modelPath>/content/folder[@name='Samples']/folder[@name='Models']/package[@name='GO Sales (analysis)']/model[@name='model']</modelPath><br /> <br /> <queries><br /> <query name="Query1"><br /> <source><br /> <model/><br /> </source><br /> <selection><dataItemMeasure name="Quantity"><dmMember><MUN>[Sales (analysis)].[Sales].[Quantity]</MUN><itemCaption>Quantity</itemCaption></dmMember><dmDimension><DUN>[Sales (analysis)].[Sales]</DUN><itemCaption>Sales</itemCaption></dmDimension><XMLAttributes><XMLAttribute name="RS_dataType" value="1" output="no"/></XMLAttributes></dataItemMeasure><dataItemMeasure name="Unit cost"><dmMember><MUN>[Sales (analysis)].[Sales].[Unit cost]</MUN><itemCaption>Unit cost</itemCaption></dmMember><dmDimension><DUN>[Sales (analysis)].[Sales]</DUN><itemCaption>Sales</itemCaption></dmDimension><XMLAttributes><XMLAttribute name="RS_dataType" value="2" output="no"/></XMLAttributes></dataItemMeasure><dataItemMeasure name="Revenue"><dmMember><MUN>[Sales (analysis)].[Sales].[Revenue]</MUN><itemCaption>Revenue</itemCaption></dmMember><dmDimension><DUN>[Sales (analysis)].[Sales]</DUN><itemCaption>Sales</itemCaption></dmDimension><XMLAttributes><XMLAttribute name="RS_dataType" value="2" output="no"/></XMLAttributes></dataItemMeasure><dataItemLevelSet name="Product line"><dmLevel><LUN>[Sales (analysis)].[Products].[Products].[Product line]</LUN><itemCaption>Product line</itemCaption></dmLevel><dmDimension><DUN>[Sales (analysis)].[Products]</DUN><itemCaption>Products</itemCaption></dmDimension><dmHierarchy><HUN>[Sales (analysis)].[Products].[Products]</HUN><itemCaption>Products</itemCaption></dmHierarchy></dataItemLevelSet><dataItem name="Ordinal"><expression>ordinal(level(item([Product line],0)))</expression></dataItem></selection><br /> </query><br /> </queries><br /> <layouts><br /> <layout><br /> <reportPages><br /> <page name="Page1"><style><defaultStyles><defaultStyle refStyle="pg"/></defaultStyles></style><br /> <pageBody><style><defaultStyles><defaultStyle refStyle="pb"/></defaultStyles></style><br /> <contents><br /> <singleton name="Singleton1" refQuery="Query1"><br /> <contents><HTMLItem><br /> <dataSource><br /> <staticValue>&lt;div id='Lvl'&gt;</staticValue><br /> </dataSource><br /> </HTMLItem><textItem><dataSource><dataItemValue refDataItem="Ordinal"/></dataSource></textItem><HTMLItem><br /> <dataSource><br /> <staticValue>&lt;/div&gt;</staticValue><br /> </dataSource><br /> </HTMLItem></contents><br /> </singleton><crosstab refQuery="Query1" horizontalPagination="true" name="Crosstab1"><br /> <crosstabCorner><style><defaultStyles><defaultStyle refStyle="xm"/></defaultStyles></style><contents/></crosstabCorner><br /> <br /> <br /> <noDataHandler><br /> <contents><br /> <block><br /> <contents><br /> <textItem><br /> <dataSource><br /> <staticValue>No Data Available</staticValue><br /> </dataSource><br /> <style><br /> <CSS value="padding:10px 18px;"/><br /> </style><br /> </textItem><br /> </contents><br /> </block><br /> </contents><br /> </noDataHandler><br /> <style><br /> <defaultStyles><br /> <defaultStyle refStyle="xt"/><br /> </defaultStyles><br /> <CSS value="border-collapse:collapse"/><br /> </style><br /> <crosstabColumns><crosstabNode><crosstabNodeMembers><crosstabNodeMember refDataItem="Quantity" edgeLocation="e1"><style><defaultStyles><defaultStyle refStyle="ml"/></defaultStyles></style><contents><textItem><dataSource><memberCaption/></dataSource></textItem></contents></crosstabNodeMember></crosstabNodeMembers></crosstabNode><crosstabNode><crosstabNodeMembers><crosstabNodeMember refDataItem="Unit cost" edgeLocation="e2"><style><defaultStyles><defaultStyle refStyle="ml"/></defaultStyles></style><contents><textItem><dataSource><memberCaption/></dataSource></textItem></contents></crosstabNodeMember></crosstabNodeMembers></crosstabNode><crosstabNode><crosstabNodeMembers><crosstabNodeMember refDataItem="Revenue" edgeLocation="e3"><style><defaultStyles><defaultStyle refStyle="ml"/></defaultStyles></style><contents><textItem><dataSource><memberCaption/></dataSource></textItem></contents></crosstabNodeMember></crosstabNodeMembers></crosstabNode></crosstabColumns><crosstabFactCell><contents><textItem><dataSource><cellValue/></dataSource></textItem></contents><style><defaultStyles><defaultStyle refStyle="mv"/></defaultStyles></style></crosstabFactCell><crosstabRows><crosstabNode><crosstabNodeMembers><crosstabNodeMember refDataItem="Product line" edgeLocation="e4"><style><defaultStyles><defaultStyle refStyle="ml"/></defaultStyles></style><contents><textItem><dataSource><memberCaption/></dataSource></textItem></contents></crosstabNodeMember></crosstabNodeMembers></crosstabNode></crosstabRows><crosstabIntersections><crosstabIntersection row="e4" column="e1"><contents><HTMLItem><br /> <dataSource><br /> <staticValue>&lt;div id='NoLinks'&gt;</staticValue><br /> </dataSource><br /> </HTMLItem><textItem><dataSource><dataItemValue refDataItem="Quantity"/></dataSource></textItem><HTMLItem><br /> <dataSource><br /> <staticValue>&lt;/div&gt;</staticValue><br /> </dataSource><br /> </HTMLItem><HTMLItem><br /> <dataSource><br /> <staticValue>&lt;div id='Links'&gt;</staticValue><br /> </dataSource><br /> </HTMLItem><textItem><dataSource><dataItemValue refDataItem="Quantity"/></dataSource><reportDrills><reportDrill name="Drill-Through Definition1"><drillLabel><dataSource><staticValue/></dataSource></drillLabel><drillTarget><reportPath path="CAMID(&quot;Zynga_AD:u:2a4aa6305669dc40b168f26119e56912&quot;)/folder[@name='My Folders']/folder[@name='PoC']/report[@name='Tgt']"><XMLAttributes><XMLAttribute name="ReportName" value="Tgt" output="no"/><XMLAttribute name="class" value="report" output="no"/></XMLAttributes></reportPath></drillTarget></reportDrill></reportDrills><style><defaultStyles><defaultStyle refStyle="hy"/></defaultStyles></style></textItem><HTMLItem><br /> <dataSource><br /> <staticValue>&lt;/div&gt;</staticValue><br /> </dataSource><br /> </HTMLItem></contents></crosstabIntersection></crosstabIntersections></crosstab><br /> <HTMLItem><br /> <dataSource><br /> <staticValue>&lt;script&gt;<br />
var Lvl = document.getElementById('Lvl');<br />var LvlSpan = Lvl.getElementsByTagName('span')[0];<br />var LvlVal = LvlSpan.innerHTML;<br />
if(LvlVal==4)<br />{<br />for(i=0;i &lt; document.getElementsByTagName('div').length;i++)<br />{<br />if(document.getElementsByTagName('div')[i].id=='NoLinks')<br />{<br />document.getElementsByTagName('div')[i].style.display = 'block';<br />}<br />}<br />}<br />else<br />{<br />
for(i=0;i &lt; document.getElementsByTagName('div').length;i++)<br />{<br />if(document.getElementsByTagName('div')[i].id=='NoLinks')<br />{<br />document.getElementsByTagName('div')[i].style.display = 'none';<br />}<br />}<br />
}<br />
&lt;/script&gt;</staticValue><br /> </dataSource><br /> </HTMLItem></contents><br /> </pageBody><br /> <pageHeader><br /> <contents><br /> <block><style><defaultStyles><defaultStyle refStyle="ta"/></defaultStyles></style><br /> <contents><br /> <textItem><style><defaultStyles><defaultStyle refStyle="tt"/></defaultStyles></style><br /> <dataSource><br /> <staticValue/><br /> </dataSource><br /> </textItem><br /> </contents><br /> </block><br /> </contents><br /> <style><br /> <defaultStyles><br /> <defaultStyle refStyle="ph"/><br /> </defaultStyles><br /> <CSS value="padding-bottom:10px"/><br /> </style><br /> </pageHeader><br /> <pageFooter><br /> <contents><br /> <table><br /> <tableRows><br /> <tableRow><br /> <tableCells><br /> <tableCell><br /> <contents><br /> <date><br /> <style><br /> <dataFormat><br /> <dateFormat/><br /> </dataFormat><br /> </style><br /> </date><br /> </contents><br /> <style><br /> <CSS value="vertical-align:top;text-align:left;width:25%"/><br /> </style><br /> </tableCell><br /> <tableCell><br /> <contents><br /> <pageNumber/><br /> </contents><br /> <style><br /> <CSS value="vertical-align:top;text-align:center;width:50%"/><br /> </style><br /> </tableCell><br /> <tableCell><br /> <contents><br /> <time><br /> <style><br /> <dataFormat><br /> <timeFormat/><br /> </dataFormat><br /> </style><br /> </time><br /> </contents><br /> <style><br /> <CSS value="vertical-align:top;text-align:right;width:25%"/><br /> </style><br /> </tableCell><br /> </tableCells><br /> </tableRow><br /> </tableRows><br /> <style><br /> <defaultStyles><br /> <defaultStyle refStyle="tb"/><br /> </defaultStyles><br /> <CSS value="border-collapse:collapse;width:100%"/><br /> </style><br /> </table><br /> </contents><br /> <style><br /> <defaultStyles><br /> <defaultStyle refStyle="pf"/><br /> </defaultStyles><br /> <CSS value="padding-top:10px"/><br /> </style><br /> </pageFooter><br /> </page><br /> </reportPages><br /> </layout><br /> </layouts><br /> <XMLAttributes><XMLAttribute name="RS_CreateExtendedDataItems" value="true" output="no"/><XMLAttribute name="listSeparator" value="," output="no"/><XMLAttribute name="RS_modelModificationTime" value="2011-06-09T13:51:23.483Z" output="no"/></XMLAttributes><reportName>Src</reportName><drillBehavior drillUpDown="true" modelBasedDrillThru="true"/></report></td></tr>
</tbody></table>
</div>
</div>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-769243699990058619.post-14289180518773207452012-01-20T19:29:00.001+05:302012-01-20T19:29:23.525+05:30Business Insight Bugs 10.1.1<div dir="ltr" style="text-align: left;" trbidi="on">
Some Business Insight bugs discovered in Cognos 10.1.1 version: <br />
<br />
<ul style="text-align: left;">
<li>Data formats and formats like Background colors, Fonts, borders not maintained after drill up/down. </li>
<li>Drilling up on an object containing a single member brings back sibling members rather than parent members. </li>
<li>Nested Metrics in crosstab columns lost on Drill up/down. </li>
<li>Prompts not reflected on report objects after Drill up/down. </li>
<li>Layout calculations in crosstabs lost on drill up/down. </li>
</ul>
</div>Unknownnoreply@blogger.com2tag:blogger.com,1999:blog-769243699990058619.post-54487742116398948522012-01-06T16:30:00.001+05:302012-01-06T16:30:22.314+05:30Drill Through - Passing ParamDisplayValue of ParametersHow do you pass ParameDisplayValue of a Parameter through a drill through link rather than a ParamValue? This is a common requirement when you are dealing with passing OLAP values to Relational reports.
<br><br>
To do the above, set the "Property to Pass" property to "Member Caption" for the parameter in the Drill Through properties.
<br><br>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-769243699990058619.post-22180021662246417812011-12-19T11:11:00.001+05:302011-12-23T09:18:10.483+05:30Hiding Left-Most Crosstab ColumnsHow do you hide left-most columns in a crosstab without impacting the alignment of other objects on the crosstab?
<br><br>
You may ask, why would anyone want to hide columns in the first place when you have the "Properties" property? That's because for some reason on 10.1.1 this doesn't seem to be working under certain scenarios. May be because there are prompt macros in the data items I want to use for drill throughs even though I don't want them on the layout. I had even set them on all possible edges. Once I have this figured out with IBM, I will update on why the Properties property isn't working.
<br><br>
<i>Latest update from IBM on why the "Properties" property is not working in a crosstab against a cube in 10.1.1 is possibly because of a defect.</i>
<br><br>
So as a work-around, I had to pull in the columns and hide them.
<br><br>
Properties that you need to set to hide the columns:
<br><br>
<blockquote>
<b>Background Color</b> : White<br><br>
<b>Foreground Color</b> : White<br><br>
<b>Font</b> : 0px<br><br>
<b>Size & Overflow</b> : 0px<br><br>
<b>Border</b> : 1 pt None Black<br><br>
<b>Padding</b> : 0px 0px 0px 0px
</blockquote>
<br><br>
The only down-side is that when exported to excel you will see 2 empty columns to the left of the crosstab object.
<br><br>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVi-KI_KBujsa-zM9-AO4BUozH4uW6_kgwYOH9VGlbLwj0R7JzWP4RSKptn44diFHbrmsZSOdAp1cI6iZK-AfInHEKgjGp6GYs7aGx-fnuaZcngAfuyIE1j_X8a1NjVZK3DX2aq5Bno5Xq/s1600/Crosstab+Hide+Columns+-+img+1.jpg" imageanchor="1" style=""><img border="0" height="79" width="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVi-KI_KBujsa-zM9-AO4BUozH4uW6_kgwYOH9VGlbLwj0R7JzWP4RSKptn44diFHbrmsZSOdAp1cI6iZK-AfInHEKgjGp6GYs7aGx-fnuaZcngAfuyIE1j_X8a1NjVZK3DX2aq5Bno5Xq/s320/Crosstab+Hide+Columns+-+img+1.jpg" /></a>
<br><br>Unknownnoreply@blogger.com8tag:blogger.com,1999:blog-769243699990058619.post-57108294507539341272011-12-16T10:08:00.000+05:302011-12-16T10:08:11.021+05:30TM1 & BI Integration issuesOne point to be kept in mind while integrating TM1 and BI 10.1.1 is that it is best to stay away from special characters in the member names/aliases.
<br><br>
Another huge point that IBM hasn't confirmed yet but something that I am suspecting is that when you have the same members rolling up to different parent members TM1 makes each of those members unique by concatenating the entire path to the member with "^" character in the MUN. And this character causes the drill up/down feature to be disabled on 10.1.1 (not observed on 10.1).
<br><br>
Special characters like "&" in the member aliases not just in the MUN cause the screen to freeze when drill through links are clicked.
<br><br>Unknownnoreply@blogger.com9