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.
11-108489053 - bad DIMIX regression bug in TM1 9.4 MR1
- Mike Cowie
- Site Admin
- Posts: 482
- Joined: Sun May 11, 2008 7:07 pm
- OLAP Product: IBM TM1/PA, SSAS, and more
- Version: Anything thru 11.x
- Excel Version: 2003 - Office 365
- Location: Alabama, USA
- Contact:
11-108489053 - bad DIMIX regression bug in TM1 9.4 MR1
Mike Cowie
QueBIT Consulting, LLC
Are you lost without Print Reports in Planning Analytics for Excel (PAfE)? Get it back today, for free, with Print Reports for IBM Planning Analytics for Excel!
QueBIT Consulting, LLC
Are you lost without Print Reports in Planning Analytics for Excel (PAfE)? Get it back today, for free, with Print Reports for IBM Planning Analytics for Excel!
- Steve Rowe
- Site Admin
- Posts: 2423
- Joined: Wed May 14, 2008 4:25 pm
- OLAP Product: TM1
- Version: TM1 v6,v7,v8,v9,v10,v11+PAW
- Excel Version: Nearly all of them
Re: 11-108489053 - bad DIMIX regression bug in TM1 9.4 MR1
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....
Technical Director
www.infocat.co.uk
www.infocat.co.uk
-
- Regular Participant
- Posts: 152
- Joined: Fri May 23, 2008 12:08 am
- OLAP Product: TM1 CX
- Version: 9.5 9.4.1 9.1.4 9.0 8.4
- Excel Version: 2003 2007
- Location: Melbourne, Australia
- Contact:
Re: 11-108489053 - bad DIMIX regression bug in TM1 9.4 MR1
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.
However (thankfully) data functions behave as expected.
-
- Regular Participant
- Posts: 152
- Joined: Fri May 23, 2008 12:08 am
- OLAP Product: TM1 CX
- Version: 9.5 9.4.1 9.1.4 9.0 8.4
- Excel Version: 2003 2007
- Location: Melbourne, Australia
- Contact:
Re: 11-108489053 - bad DIMIX regression bug in TM1 9.4 MR1
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);
Last edited by ScottW on Mon Feb 23, 2009 11:56 pm, edited 1 time in total.
Re: 11-108489053 - bad DIMIX regression bug in TM1 9.4 MR1
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.
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.
- Mike Cowie
- Site Admin
- Posts: 482
- Joined: Sun May 11, 2008 7:07 pm
- OLAP Product: IBM TM1/PA, SSAS, and more
- Version: Anything thru 11.x
- Excel Version: 2003 - Office 365
- Location: Alabama, USA
- Contact:
Re: 11-108489053 - bad DIMIX regression bug in TM1 9.4 MR1
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:
Regards,
Mike
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:
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.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.
Regards,
Mike
Mike Cowie
QueBIT Consulting, LLC
Are you lost without Print Reports in Planning Analytics for Excel (PAfE)? Get it back today, for free, with Print Reports for IBM Planning Analytics for Excel!
QueBIT Consulting, LLC
Are you lost without Print Reports in Planning Analytics for Excel (PAfE)? Get it back today, for free, with Print Reports for IBM Planning Analytics for Excel!
-
- Regular Participant
- Posts: 152
- Joined: Fri May 23, 2008 12:08 am
- OLAP Product: TM1 CX
- Version: 9.5 9.4.1 9.1.4 9.0 8.4
- Excel Version: 2003 2007
- Location: Melbourne, Australia
- Contact:
Re: 11-108489053 - bad DIMIX regression bug in TM1 9.4 MR1
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);
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);