TM1 REST API is a great enhancement for TM1.
You can develop lots for own applications using this API. And most beautiful thing is they can be cross TM1 servers! The current TM1 interfaces(Perspectives and Architecture), I have to say, are ugly and difficult to use, especially when you want to exchange data between two servers.
I know tm1runti command and already developed TI processes to transfer data between servers.
TM1 REST API provides a new way to communicate with TM1 server.
I plan to use this to develop a new tool for managing chores, migrating objects, etc.
Looking forward to hoping IBM to make this API stronger to replace the original out-of-date API.
https://www.ibm.com/developerworks/community/groups/community/TM1SDK
Hello TM1
Wednesday, 20 May 2015
Sunday, 1 February 2015
Tips for installing Cognos 10.2 64-bit on Windows 7 64-bit
1. Make sure you install all supported software which is listed by IBM report, especially for JDK, version of content store DB and web servers etc. Latest software will cause some unexpected errors. E.g. dynamic query service can't be enabled when using JDK 8 on Cognos 10.2.
2. Make sure all software you installed is in same language, especially for Cognos server itself. Better to have English as default language by changing this setting
IBM Cognos Configuration -> Opertation -> Edit Global Configuration -> General -> Server Language Env = en if you see this error in the cognos server log. "CBSServiceStatusUpdater reached time limit, final status is 2"
3. Make sure Oracle character set is AL32UTF8 and language in AMERICAN if you use Oracle as content store. You can use DBCA to drop or recreate DB and grant DBA to content store user.
4. Follow the links below to finish installation and configuration.
2. Make sure all software you installed is in same language, especially for Cognos server itself. Better to have English as default language by changing this setting
IBM Cognos Configuration -> Opertation -> Edit Global Configuration -> General -> Server Language Env = en if you see this error in the cognos server log. "CBSServiceStatusUpdater reached time limit, final status is 2"
3. Make sure Oracle character set is AL32UTF8 and language in AMERICAN if you use Oracle as content store. You can use DBCA to drop or recreate DB and grant DBA to content store user.
5. Allocate more RAM to Java Virtual Machine if see this error in Event Viewer.
"Could not create the Java Virtual Machine"
6. If you see "QE-DEF-0368" when using FM to connect any source for publishing. Check the link below.
Saturday, 15 November 2014
TM1 and MySQL Workbench
See the following explanation,
How MySQL workbench add invisible char into the end of each line (only LF, which is Unix way)
After copying same SQL into Notepad++ and how Notepad++ display the end of each line (CR+LF, which is windows way)
And the SQL window in TI only recognize the common Windows way of displaying end of each line, which is CR+LF. If you copy SQL directly from workbench into TI window, at first, you won't see any problem and that SQL will be only displayed into one line. Once you reboot your server, TI would automatically truncate the whole SQL at the first place of LF. That caused the failure.
For anyone who is not familiar with CR or LF. Read this,
CR an LF are control characters, respectively coded 0x0D (13 decimal) and 0x0A (10 decimal).
They are used to mark a line break in text file. A you indicated, Windows uses two characters the CR LF sequence; Unix only uses LF and MacIntosh CR.
An apocryphal historical perspective
As indicated by Peter, CR = Carriage Return and LF = Line Feed, two expressions which have their roots in the old typewriters / TTY. LF moved the paper up (but kept the horizontal position identical) and CR brought back the "carriage" so that the next character typed would be at the leftmost position on the paper (but on the same line). CR+LF was doing both, i.e. preparing to type a new line. As time went by the physical semantics of the codes were not applicable, and as memory and floppy disk space was at a premium, some OS designers decided to only use one of the characters, they just didn't communicate very well with one another ;-)
Most modern text editors and text-oriented application offer options/settings etc. that allow the automatic detection of the file's end-of-line convention and to display it accordingly.
Wednesday, 5 November 2014
TM1 on Linux
A few things to notice:
1. When run issetup, you might see some lib files are missing. Google and find them put them into /usr/lib with required file names. They are all in 32-bit if you are installing 64-bit TM1.
2. Don't trust cogconfig.sh GUI. It somehow doesn't work and can't see the error behind it.
3. To bring up the sample, you need to check tm1s.cfg first to make sure it is in Unix format.
4. Use startup_tm1s.sh command to start your TM1 server and shutdown_tm1s.sh to stop it. They may ask for missing lib files as well. Google and find them put them into /usr/lib with required file names. They are all in 64-bit if you are installing 64-bit TM1.
5. To test ODBC, you need to setup unixODBC and corresponding linux ODBC drive for your DB.
6. Once ODBC is successful, you still need odbc_test.exe to testify your ODBC connection in TM1. It may also ask for missing lib files as well. Google and find them put them into /usr/lib with required file names. They are all in 64-bit if you are installing 64-bit TM1. They should match your TM1 and OS versions for 64-bit or 32-bit. DB version is not relevant here.
7. Setup ODBCINI environment variable and put ODBCLibraryPath into your tm1s.cfg.
8. All TM1 clients should still be in windows platform. You have to setup them in other machines.
9. All in all, in Linux/Unix, better to use command all the time, they are you best friends and can tell you where your errors are. Have fun in TM1 on Linux/Unix!
1. When run issetup, you might see some lib files are missing. Google and find them put them into /usr/lib with required file names. They are all in 32-bit if you are installing 64-bit TM1.
2. Don't trust cogconfig.sh GUI. It somehow doesn't work and can't see the error behind it.
3. To bring up the sample, you need to check tm1s.cfg first to make sure it is in Unix format.
4. Use startup_tm1s.sh command to start your TM1 server and shutdown_tm1s.sh to stop it. They may ask for missing lib files as well. Google and find them put them into /usr/lib with required file names. They are all in 64-bit if you are installing 64-bit TM1.
5. To test ODBC, you need to setup unixODBC and corresponding linux ODBC drive for your DB.
6. Once ODBC is successful, you still need odbc_test.exe to testify your ODBC connection in TM1. It may also ask for missing lib files as well. Google and find them put them into /usr/lib with required file names. They are all in 64-bit if you are installing 64-bit TM1. They should match your TM1 and OS versions for 64-bit or 32-bit. DB version is not relevant here.
7. Setup ODBCINI environment variable and put ODBCLibraryPath into your tm1s.cfg.
8. All TM1 clients should still be in windows platform. You have to setup them in other machines.
9. All in all, in Linux/Unix, better to use command all the time, they are you best friends and can tell you where your errors are. Have fun in TM1 on Linux/Unix!
Monday, 14 April 2014
Olapedia - TM1
The following is a wiki website for TM1. It contains lots of fundamental concepts. It is a good start point if you are interested in it.
Wednesday, 31 July 2013
A Better TM1 Monitor Tool
Compared with traditional TM1 Top, in 10.1, IBM issued a new web-based TM1 monitor tool - TM1 Operations Console.
It provides the basic server monitoring functionality provided
by the TM1Top utility with some important additions:
- The Cognos TM1 Operations Console can monitor multiple Cognos TM1 servers at the same time.
- The Health feature allows for instant feedback on the current state of servers.
- Filtering helps highlight specific states for multiple servers.
- Sorting allows administrators to quickly identify which servers are in specific states.
- The Cognos TM1 Operations Console can use Scheduled Logging to monitor activity offline.
It is one of default components if you intall TM1 package and default web server is Apache Tomcat provided with Cognos TM1. Here is the location: Select and install the Web Application Tier
> Cognos TM1 Operations
Console component.
Use the following set of steps to install it (IBM Link for detailed installation steps):
- Add certificates to the JRE keystore
The IBM Cognos TM1 Operations Console requires a certificate in the Java Runtime Environment (JRE) keystore. - Deploy Cognos TM1 Operations Console with the provided version of Apache Tomcat
Use the IBM Cognos Configuration tool to deploy the IBM Cognos TM1 Operations Console with the version of Apache Tomcat provided with the Cognos TM1 installation. The Cognos TM1 Operations Console uses the same version of Tomcat as the IBM Cognos TM1 Application Server. - Create a user group for the Cognos TM1 Operations Console
The IBM Cognos TM1 Operations Console requires a designated Cognos TM1 user group that you create in Cognos TM1 Architect. - Edit the OpsConfig.xml file
The IBM Cognos TM1 Operations Console uses an XML file to identify the user group, server, and admin host to use. Before you can run the Cognos TM1 Operations Console, you need to update this configuration file with the information that describes your new monitoring group. - Configure Microsoft Internet Explorer 8 for the Cognos TM1 Operations Console
You need to do some additional configuration to use the Microsoft Internet Explorer 8 web browser with the IBM Cognos TM1 Operations Console. - Start and log into the Cognos TM1 Operations Console
According to my practice, the first one is pretty important. Please make sure you have done that otherwise the Admin Hosts you added would be "None of the servers are contactible". After that, restart your TM1 Application Server to make it effect.
If you already have some groups, you can just skip the third step to use existing ones. And then update OpsConfig.xml to add your admin host, tm1 server and group name. You can just add one admin host because from there, you can also monitor other admin hosts. (But make sure all admin hosts are listed in this server's tm1s.cfg file.)
Then go to your IE, type http://server_name:port_number/tm1operationsconsole, this address can be found in your TM1 Application Server.
After adding Operation Group -> Admin Host -> Server, you can start to monitor all your TM1 servers in one window. It is pretty convenient and no need to configure TM1 Top one by one.
One more thing, to kill one process, just right click the line for that ID and kill it.
Have fun and that makes our life easier!
Sunday, 23 June 2013
Basic TM1 Tips for Green Hand
1. When presenting views to business users, make sure you create the view in all detailed levels as default and tick “Automatic Recalculation”.
2. You can create a “Picklist” in dimension’s attributes which allows users to select values from drop-down list.
3. Use “Driver” cubes to centralize all rates, values etc and use DB function in rules to refer to it.
4. Don’t forget to consider maintenance when designing cubes.
5. Prefer to use weight to do addition or subtraction instead of rules for consolidations.
6. Dimension order should be from smallest/sparsest to largest/densest and measure dimension would be the last one when creating cubes.
7. Always add roll-up level for dimensions.
8. If dimensions are nested, you can’t use filter in cube viewer.
9. Think about the following when building a cube
a. Purpose of the cube
b. What the measures?
c. What else dimensions do I need?
d. Build
e. Create default view and format
f. Write rules/feeders if necessary and test
g. Load
h. Publish if necessary
10. When an element belongs to a group in dimension, if you delete it, TM1 just takes it out from the group and put it in the last. Delete it again if you really don’t need it.
11. Alias is useful for displaying alternative names but also can be used for loading. E.g. you have staff name in the dimension and also use alias for staff number. TM1 would firstly search for staff name and then look for staff number in alias.
12. Set order each time when creating dimension before saving it.
13. When you see “#N/A” in cubes, it would be either circular reference or dividing by zero.
14. Dimension order is very important.
15. As long as you write a rule for a cube, performance engine would be turned off automatically. So you need remember rules and feeders are combined together.
16. Under feeding or only writing “SKIPCHECK” would lead to zero consolidations.
17. Over feeding or only writing “FEEDERS” could work but still have slow performance.
18. When you have DB functions in rules, you need write feeders in the referenced cubes and use DB functions to feed it back to the source cubes.
19. Whenever you open a view in a cube, TM1 would execute rules first and then aggregate cells for consolidations.
20. Addition and subtraction need feeders for all elements in the formula.
21. Multiplication and division only need feeders for the sparsest element depends on business rules.
22. When using wizard for DB function, remove anything in the field before clicking on subset button on the right.
23. Use “Trace Calculation” or “Check Feeders” in views when you see zero for consolidations and values for detail levels.
24. Use curly braces to feed multiple elements to same target cell.
25. Rule sequence should be from specific to generic.
26. Use DB function in rules to test a string.
27. You can use custom format sometimes such as 0.00”%”.
28. Use UPPERCASE for all rollup elements or consolidations.
29. Active form can be drilled down, formatted quickly and have dynamic subset on rows.
30. Whenever you don’t save data when exiting the server, TM1 would generate *.REJ file to backup and you can use TI process to load it for recovery.
31. You can create TM1 server by shortcuts or windows service by using different parameters.
32. Attribute and lookup cube can be useful but only admin can modify attributes.
33. When specifying values for leaf cell and consolidation cell, you need to write them down in one formula. E.g. [‘Price’] =:N .... ; :C 0;
34. When creating dimension, usually we need to use TI process to create them from files dynamically and further create dynamic subset from them as well. These processes would be scheduled automatically.
35. When using TI to create dimension, you should just put one variable as “Element”. For loading cubes, they have many.
36. Make sure you use your own view such as “TIXXXXX” to copy data within cube or between cubes.
37. The security applies according to this order. Cube->Dimension->Element->Cell
38. No need to add feeders for string elements and they are only for numeric elements.
39. You can use “Re-order dimensions” or “Load on Demand” to improve performance.
40. You can use relative data spreading functions to reference data from other cubes but make sure referenced cube has same dimensions on column.
41. When replicating, you need to careful about modification on same cells on different servers as only the source server takes precedence and change from other servers would be overwritten. The replication is merging changes from all different servers and bi-directional.
42. When copying data in one cube for different views, you can just use a new variable in TI to specify different element such as “Final Version” and the original one should be ignored.
43. When Cognos Framework Manager is connecting to TM1, you need to specify which dimension is measure in cube properties first.
44. For lock permission, only admin can unlock it.
45. Six permissions have precedence.
2. You can create a “Picklist” in dimension’s attributes which allows users to select values from drop-down list.
3. Use “Driver” cubes to centralize all rates, values etc and use DB function in rules to refer to it.
4. Don’t forget to consider maintenance when designing cubes.
5. Prefer to use weight to do addition or subtraction instead of rules for consolidations.
6. Dimension order should be from smallest/sparsest to largest/densest and measure dimension would be the last one when creating cubes.
7. Always add roll-up level for dimensions.
8. If dimensions are nested, you can’t use filter in cube viewer.
9. Think about the following when building a cube
a. Purpose of the cube
b. What the measures?
c. What else dimensions do I need?
d. Build
e. Create default view and format
f. Write rules/feeders if necessary and test
g. Load
h. Publish if necessary
10. When an element belongs to a group in dimension, if you delete it, TM1 just takes it out from the group and put it in the last. Delete it again if you really don’t need it.
11. Alias is useful for displaying alternative names but also can be used for loading. E.g. you have staff name in the dimension and also use alias for staff number. TM1 would firstly search for staff name and then look for staff number in alias.
12. Set order each time when creating dimension before saving it.
13. When you see “#N/A” in cubes, it would be either circular reference or dividing by zero.
14. Dimension order is very important.
15. As long as you write a rule for a cube, performance engine would be turned off automatically. So you need remember rules and feeders are combined together.
16. Under feeding or only writing “SKIPCHECK” would lead to zero consolidations.
17. Over feeding or only writing “FEEDERS” could work but still have slow performance.
18. When you have DB functions in rules, you need write feeders in the referenced cubes and use DB functions to feed it back to the source cubes.
19. Whenever you open a view in a cube, TM1 would execute rules first and then aggregate cells for consolidations.
20. Addition and subtraction need feeders for all elements in the formula.
21. Multiplication and division only need feeders for the sparsest element depends on business rules.
22. When using wizard for DB function, remove anything in the field before clicking on subset button on the right.
23. Use “Trace Calculation” or “Check Feeders” in views when you see zero for consolidations and values for detail levels.
24. Use curly braces to feed multiple elements to same target cell.
25. Rule sequence should be from specific to generic.
26. Use DB function in rules to test a string.
27. You can use custom format sometimes such as 0.00”%”.
28. Use UPPERCASE for all rollup elements or consolidations.
29. Active form can be drilled down, formatted quickly and have dynamic subset on rows.
30. Whenever you don’t save data when exiting the server, TM1 would generate *.REJ file to backup and you can use TI process to load it for recovery.
31. You can create TM1 server by shortcuts or windows service by using different parameters.
32. Attribute and lookup cube can be useful but only admin can modify attributes.
33. When specifying values for leaf cell and consolidation cell, you need to write them down in one formula. E.g. [‘Price’] =:N .... ; :C 0;
34. When creating dimension, usually we need to use TI process to create them from files dynamically and further create dynamic subset from them as well. These processes would be scheduled automatically.
35. When using TI to create dimension, you should just put one variable as “Element”. For loading cubes, they have many.
36. Make sure you use your own view such as “TIXXXXX” to copy data within cube or between cubes.
37. The security applies according to this order. Cube->Dimension->Element->Cell
38. No need to add feeders for string elements and they are only for numeric elements.
39. You can use “Re-order dimensions” or “Load on Demand” to improve performance.
40. You can use relative data spreading functions to reference data from other cubes but make sure referenced cube has same dimensions on column.
41. When replicating, you need to careful about modification on same cells on different servers as only the source server takes precedence and change from other servers would be overwritten. The replication is merging changes from all different servers and bi-directional.
42. When copying data in one cube for different views, you can just use a new variable in TI to specify different element such as “Final Version” and the original one should be ignored.
43. When Cognos Framework Manager is connecting to TM1, you need to specify which dimension is measure in cube properties first.
44. For lock permission, only admin can unlock it.
45. Six permissions have precedence.
Subscribe to:
Posts (Atom)