Page 1 of 1
11-108489053 - bad DIMIX regression bug in TM1 9.4 MR1
Posted: Wed Feb 18, 2009 1:23 pm
by Mike Cowie
Text from Inquiry here:
I uncovered what appears to be a very bad regression bug in TM1 9.4 MR1 (I did not test with TM1 9.4 to see if it also exists there). Basically, if I execute a DIMIX on an element with the following name as it looks in the dimension:
DummySpaceString 1
But leave out the space between the “g†and the “1â€, DIMIX returns a 0. If I put the space in, it returns the correct index in the dimension. The reverse test where I have an element with the following name:
DummyString1
But add a space between the “g†and “1†also returns a 0 via DIMIX.
Identical tests in TM1 9.0 SP3 U9, TM1 9.1 SP3 and TM1 9.1 SP4 did *not* show the same behavior and, indeed, I would not expect them to because TM1 has always been case and *space* insensitive.
Current Status: Issue number TM-7924, sent up to QA as Critical.
Re: 11-108489053 - bad DIMIX regression bug in TM1 9.4 MR1
Posted: Thu Feb 19, 2009 2:54 pm
by Steve Rowe
If it's not a bug and a function of moving to unicode then it's going to be a big change. I'm not looking forward to picking through rule sheets looking for extra or missing spaces....
Re: 11-108489053 - bad DIMIX regression bug in TM1 9.4 MR1
Posted: Sat Feb 21, 2009 11:07 am
by ScottW
Just did some further testing on this, also applies to leading and trailing spaces in a dimension element reference. The bug is not limited to Dimix and seems to apply to all dimension information functions (ElPar, ElComp, ElCompN, etc.).
However (thankfully) data functions behave as expected.
Re: 11-108489053 - bad DIMIX regression bug in TM1 9.4 MR1
Posted: Sat Feb 21, 2009 11:32 am
by ScottW
Interestingly this bug seems to apply to Excel. Just tested in TI and TI behaves as expected and is space insensitive.
Code: Select all
vEleStr = ' ' | SubSt(vEle, 1, 1) | ' ' | SubSt(vEle, 2, Long(vEle)-1) | ' ';
vTest1 = Dimix(cDim, vEle);
vTest2 = Dimix(cDim, vEleStr);
vTest3 = DTYPE(cDim, vEle);
vTest4 = DTYPE(cDim, vEleStr);
vTest5 = ELCOMP(cDim, vEle, 1);
vTest6 = ELCOMP(cDim, vEleStr, 1);
Re: 11-108489053 - bad DIMIX regression bug in TM1 9.4 MR1
Posted: Mon Feb 23, 2009 11:26 pm
by blackhawk
Here is the official response from IBM Cognos regarding this issue.
There is an easy workaround for this problem. In tm1p.ini file, set config parameter:
DimensionDownloadMaxSize = 1
This will disable client side caching for element retrieval. This is a very old mechanism where the client tries to prefetching 1000 elements from a dimension that has less than 1000 element when this parameter is not set. In current 9.4 releases, it has little benefit for this prefetching since in most cases the client will not use all 1000 elements, and fetching these elements from tm1 server can be slow.
Disabling it by setting this parameter to 1 will eliminate the bug as the client will no longer look into its local cache for elements using space sensitive search.
FP2 will not have this problem as the caching is improved.
Re: 11-108489053 - bad DIMIX regression bug in TM1 9.4 MR1
Posted: Mon Feb 23, 2009 11:33 pm
by Mike Cowie
Hi Everyone,
I have some more information from IBM, including a workaround. It appears that the problem is confined to the TM1 Excel client and not TM1 Rules - Scott, if you have a working example that proves that wrong you should tell IBM because I couldn't personally see the same problem in TM1 Rules.
Here is some additional workaround information from IBM:
If you change or set the following parameter in your TM1p.ini to 1 (mine was blank initially):
DimensionDownloadMaxSize = 1
Then the functions work as before.
The problem only occurs when we are comparing using the cached element on the client side. This parameter controls whether we are caching elements on the client side ... in most cases it may actually slightly improve performance to take it out. It was intended to help with very large dimensions but it's an old parameter and we aren't caching very smartly ... and in fact in the next fix pack (fp2) we will be removing it entirely (you won't have to take the parameter out ... it will just be ignored) and caching more intelligently as needed.
The workaround seemed to do the trick when I tried it. NOTE: You should edit your TM1P.INI while the TM1 Excel client is *not* running. I think the first time I tried my TM1P.INI edit it was while TM1 was running and it was ultimately overwritten by the TM1 Excel client when I next shut it down.
Regards,
Mike
Re: 11-108489053 - bad DIMIX regression bug in TM1 9.4 MR1
Posted: Tue Feb 24, 2009 12:22 am
by ScottW
Also got the same solution from Cognos, it seems to work.
I've done some further testing and this bug is only in the Excel client. The below rule gives the expected result for Dimix.
['test'] = S: ' ' | SubSt(!myDim, 1, 2) | ' ' | SubSt(!myDim, 3, Long(!myDim)-2);
['test2'] = S: STR(DIMIX('myDim', AttrS('myDim', !myDim, 'test')),3,0);