Hi,
in Cognos TM1 10.1.1 (TM1 Architect development tool) I have the following problem (simplified):
I have a one single contract in purchases system that can be fulfilled (goods delivered) by multiple suppliers. I know this doesn't sound correct but it is. Out company makes contract with enterprise and goods are delivered by multiple companies inside that enterprise. But future quantity delivered are not specified separately by company (supplier). In purchases system there is the following info:
Contract 1: Quantity 500 units, Suppliers: Supplier 1 (one single supplier per contract)
Contract 2: Quantity 300 units, Suppliers: Supplier 2 (one single supplier per contract)
Contract 3: Quantity 1000 units, Suppliers: Supplier 2, Supplier 3, Supplier 4 (multiple suppliers per contract --> the problem)
I have investigated purchases system and found that in 95% contracts there is one single supplier per contract specified, but there are few with two and few with three suppliers per contract. There is absolutely no info how many units there will be delivered by particular supplier per contract. The only thing that is specified is that one of the two, tree suppliers will gonna deliver goods. How many units are going to be supplied by supplier is in the hand of suppliers enterprise management. All suppliers per contract must deliver the number of units specified on contract.
I imagined to create a cube with two dimensions: "Supplier" dimension and "Future planned quantity" measure.
In "Supplier" dimension I imagined to store all suppliers per contract in one single element. So for "Contract 3" all three suppliers member names are going to be stored in single TM1 element member name, like: "Supplier 2 + Supplier 3 + Supplier 4".
Now the questions?
1. What is the TM1 limit of element "member name"?
2. What happens if member name is larger then maximum allowed size? Does TM1 returns error or just truncates the remaining overflow string? I need to know this, because I would like to write such an SQL from warehouse database to have "and more" string appended at the end of member name, like e.g. "Supplier 1 + Supplier 2 + Supplier 3 + Supplier 4 + and more" in case of reaching the TM1 element member name limit.
3. Can someone point me to some documentation on TM1 restrictions? So far I have found only http://www.tm1forum.com/viewtopic.php?t=1086 with some old info from 2009.
4. Is there any other idea how to model this case anything differently?
Thanks
What is the TM1 element member name maximum size limitation?
-
- Posts: 31
- Joined: Tue Aug 20, 2013 5:53 am
- OLAP Product: TM1
- Version: 10.1.1
- Excel Version: -
-
- MVP
- Posts: 2832
- Joined: Tue Feb 16, 2010 2:39 pm
- OLAP Product: TM1, Palo
- Version: Beginning of time thru 10.2
- Excel Version: 2003-2007-2010-2013
- Location: Atlanta, GA
- Contact:
Re: What is the TM1 element member name maximum size limitation?
Why not add a Contract dimension to the cube too? It would solve your problem. Most of the time you would have data at the intersection of one contract and supplier but in those cases where you have multiple suppliers for a single contract you would have data in one contract element but multiple supplier elements. That's kind of the reason for using cubes.
-
- MVP
- Posts: 227
- Joined: Fri Mar 11, 2011 2:18 pm
- OLAP Product: TM1
- Version: 9.5.1
- Excel Version: 2003 2007
Re: What is the TM1 element member name maximum size limitation?
(1)Stanislav2 wrote: 3. Can someone point me to some documentation on TM1 restrictions? So far I have found only http://www.tm1forum.com/viewtopic.php?t=1086 with some old info from 2009.
http://www-01.ibm.com/support/knowledge ... ng_Convtns
TM1 Developer Guide 10.2.2
Introduction to TM1 Development >
TM1 Object Naming Conventions
Maximum string length for data directory and object names
The entire string represented by the combination of the IBM Cognos TM1 server data directory name and the object name is limited to 256 bytes. For example, if your data directory is C:\Financial data\TM1\ (22 bytes), object names are limited to 234 bytes, inclusive of a file extension such as.cub or .rux.
Some TM1 objects, such as views, subsets, and applications, are stored in sub-directories of the TM1 server data directory. In this case, the 256 byte limit is applied to the combination of the TM1 server data directory, the sub-directory, and the object name.
(2)
http://www-01.ibm.com/support/docview.w ... wg27024713
IBM Cognos TM1 object names - avoid these characters.
Maximum string length for data directory and object names
The entire string represented by the combination of the IBM Cognos TM1 server data directory name and the object name is limited to 128 bytes. For example, if your data directory is C:\Financial data\TM1\ (22 bytes), object names are limited to 106 bytes, inclusive of a file extension such as .cub or .rux.
Some TM1 objects, such as views, subsets, and applications, are stored in sub-directories of the TM1 server data directory. In this case, the 128 byte limit is applied to the combination of the TM1 server data directory, the sub-directory, and the object name.
(3)
http://www-01.ibm.com/support/knowledge ... _addclient
TM1 Reference Guide 10.2.2
TM1 TurboIntegrator Functions > Security TurboIntegrator Functions >
AddClient
The client name is limited to 255 characters/bytes.
(4)
http://www-01.ibm.com/support/knowledge ... ngth_N4367
TM1 Developer Guide 10.2.2
Creating Cubes and Dimensions > Creating Dimensions >
Using Named Hierarchy Levels with TM1 Dimensions>String Length Limit for Named Levels
Named levels are limited to a length of 255 single-byte characters. Even though the }HierarchyProperties control cube supports long strings, MDX statements can return an error with named levels longer than 255 characters.
- qml
- MVP
- Posts: 1094
- Joined: Mon Feb 01, 2010 1:01 pm
- OLAP Product: TM1 / Planning Analytics
- Version: 2.0.9 and all previous
- Excel Version: 2007 - 2016
- Location: London, UK, Europe
Re: What is the TM1 element member name maximum size limitation?
Apologies for this thread necromancy, but maybe someone will find some answers to the actual question in the thread title useful.
The maximum number of characters in an element name seems to be 5459, at least in PA 2.0.5, but this seems to be a front-end (Architect and Perspectives) limitation, not a server-side one. I haven't yet checked if the limit is the same in other clients. The same limit was also mentioned in another thread.
Interestingly, if you try and use a name which is longer than the limit of 5459, the element will get created, but its name will show as empty in Architect/Perspectives and the element will be a zombie element of sorts - not really usable, but definitely existing.
I haven't yet found a specific server-side limit, but it seems to to be somewhere between 1,000,000 (which works fine) and 10,000,000 (which crashes my server).
Try running the below TI code in a non-production environment (you can adjust the nMax limit) and see what happens. The snippet below generates a long name and inserts a single element with that name into a test dimension.
The maximum number of characters in an element name seems to be 5459, at least in PA 2.0.5, but this seems to be a front-end (Architect and Perspectives) limitation, not a server-side one. I haven't yet checked if the limit is the same in other clients. The same limit was also mentioned in another thread.
Interestingly, if you try and use a name which is longer than the limit of 5459, the element will get created, but its name will show as empty in Architect/Perspectives and the element will be a zombie element of sorts - not really usable, but definitely existing.
I haven't yet found a specific server-side limit, but it seems to to be somewhere between 1,000,000 (which works fine) and 10,000,000 (which crashes my server).
Try running the below TI code in a non-production environment (you can adjust the nMax limit) and see what happens. The snippet below generates a long name and inserts a single element with that name into a test dimension.
Code: Select all
sDim = 'test_dim';
nMax = 1000000;
IF( DimensionExists( sDim ) = 0 );
DimensionCreate( sDim );
ELSE;
DimensionDeleteAllElements( sDim );
ENDIF;
sElement = FILL( 'x', nMax );
DimensionElementInsert( sDim, '', sElement, 'N' );
Kamil Arendt
- macsir
- MVP
- Posts: 785
- Joined: Wed May 30, 2012 6:50 am
- OLAP Product: TM1
- Version: PAL 2.0.9
- Excel Version: Office 365
- Contact:
Re: What is the TM1 element member name maximum size limitation?
Interesting to know and thanks for the code. After testing, if wants the element to display properly in Architect, then nMax = 43679 is the limit. Otherwise, it will show empty element name with numeric icon at the first but definitely the element exists and is valid.
In PAW, the limit goes above that limit and even nMax = 1000000 has no issue to display.
In PAW, the limit goes above that limit and even nMax = 1000000 has no issue to display.
- Alan Kirk
- Site Admin
- Posts: 6606
- Joined: Sun May 11, 2008 2:30 am
- OLAP Product: TM1
- Version: PA2.0.9.18 Classic NO PAW!
- Excel Version: 2013 and Office 365
- Location: Sydney, Australia
- Contact:
Re: What is the TM1 element member name maximum size limitation?
There is, however, the non-technical limitation of your clients chasing you down the corridor with pitchforks and pole axes if you try to get them to work with element names that long on anything smaller than an IMAX multi story cinema screen.macsir wrote: ↑Sat Nov 07, 2020 12:02 am Interesting to know and thanks for the code. After testing, if wants the element to display properly in Architect, then nMax = 43679 is the limit. Otherwise, it will show empty element name with numeric icon at the first but definitely the element exists and is valid.
In PAW, the limit goes above that limit and even nMax = 1000000 has no issue to display.
"To them, equipment failure is terrifying. To me, it’s 'Tuesday.' "
-----------
Before posting, please check the documentation, the FAQ, the Search function and FOR THE LOVE OF GLUB the Request Guidelines.
-----------
Before posting, please check the documentation, the FAQ, the Search function and FOR THE LOVE OF GLUB the Request Guidelines.