Product:
Planning Analytics 2.0.5 workspace
Microsoft Server 2016

Problem:
You get value in to the TM1 application, from a yearly cost of company car, and you want to know what the monthly cost is. Where you have the values for start date, and the accumulated sum for the month.

Starting solution:
This show part of the solution, to get you to understand the ParseDate function.
You must expand this solution to get a fully working TI process.

You can a find better solutions here:
http://www.tm1forum.com/viewtopic.php?t=9736

 

Login to PAW (Plannig Analytics Workspace) and your application.
ti1
Click on the pencil to make it blue so you are in edit mode.
ti2
Right click on dimensions to create a new dimension
ti3
Enter the name of the dimension and click create
ti4
Click OK and click on enter new members
ti5
ti6
Enter StartDate and click on commit
ti7
click on plus sign and select after selection to add a new member of the dimension.
ti8
Enter this values – this will be part of our cube to show the result.
ti9
Select the Breakdate and right click to set format to Date, repeat for StartDate.
ti10
Click on the show members attributes to see the format.
Create a new dimension named Result.Log with only one member.
ti11
ti12
Right click on cubes to create a new cube of above dimensions.
ti13
Mark Result.Event and Result.log and click arrow to move them over.
Enter Result Cube as name of the cube, and click on Create.
ti14
Click on the plus sign to add a new sheet. Select a boxed template.
ti15
Select the cube and right click and select Add new view
ti16
Click on the box and on the icon to change row and columns value. So you get this;
ti17
ti18
Right click on process to create a new process. Name the process AmountCalculated.
ti19
Expand the code window so you see most of it below the cube view.
ti20
Click on parameters tab, and click on plus sign to add input parameters. Here we will enter the values to test the process. In your solution you may get this values from a file instead.
ti21
Enter above names and start values. (p is to show it is a parameter variable)
ti22
Enter script tab, to enter your code.
Enter below code under Prolog End: Generated Statements

# define the cube and dimensions to work with
sDimName = ‘Result.Log’;
sCubename = ‘Result Cube’;

nBreakDateA = ParseDate( pBreakDateA, ‘yyyyMMdd’,0 );
nStartDateA = ParseDate( pStartDateA, ‘yyyyMMdd’,0 );

# write variables values to txt file in servers log folder for debug
asciioutput (‘../logfiles/debuglog1.txt’, str(nBreakDateA,8,2),str(nStartDateA,8,2) , numbertostring(pTotalAmountA));

# check if it is before break date then divide with 12
if (nStartDateA < nBreakDateA);
nMonthAmountA = pTotalAmountA / 12;
else;

# check if the distance is not in the same year
nStartYear = stringtonumber( subst (pStartDateA, 1,4));
nEndYear = stringtonumber( subst (pTotalDateA, 1,4));

# write variables values to txt file in servers log folder for debug
asciioutput (‘../logfiles/debuglog3.txt’, numbertostring(nStartYear),numbertostring(nEndYear) , pStartDateA, pTotalDateA );

if (nStartYear <>  nEndYear);
nTotalDateA = ParseDate( pTotalDateA, ‘yyyyMMdd’,0 );
nResult=  ((YEAR(DATE( nTotalDateA  )) – YEAR(DATE( ( nStartDateA ))) )*12)+ (MONTH(DATE( nTotalDateA )) – MONTH(DATE( ( nStartDateA ))) ) ;

# write variables values to txt file in servers log folder for debug
asciioutput (‘../logfiles/debuglog4.txt’, numbertostring(nStartYear), numbertostring(nEndYear) , numbertostring(nResult)  );

# if total is far from start date to today – you use the same formula  but nResult is total number of months
nMonthAmountA = pTotalAmountA / nResult;
else;
# change here what values you want to use for the calculation
nStartmonth = stringtonumber( subst (pStartdateA, 5,2));
nEndmonth = stringtonumber( subst (pTotaldateA, 5,2));
nOfMonths = nEndmonth – nStartmonth +1;
# calculate value if less than a year
nMonthAmountA = pTotalAmountA / nOfMonths;
endif;
endif;
ti23
Then enter below code as Epilog

# write variables values to txt file in servers log folder for debug
asciioutput (‘../logfiles/debuglog2.txt’, str(nStartmonth,8,2) ,numbertostring(nMonthAmountA) ,numbertostring(pTotalAmountA), numbertostring(nOfMonths));

# create a new dimension element with the date and time as value to make it uniq
sDate = (timSt(now, ‘\Y-\m-\d \h:\i’));
DimensionElementInsertDirect( sDimname,’ ‘, sDate, ‘N’ );
# update the log cube with the values
CellPutN( nStartDateA+21916, sCubename,’StartDate’, sDate );
CellPutN( pTotalAmountA, sCubename,’TotalAmount’, sDate );
CellPutN( nMonthAmountA, sCubename,’MonthAmount’, sDate );
CellPutN( nBreakDateA+21916, sCubename,’BreakDate’, sDate );

# 1 in excel is 1900, but in TM1 that is 1960 – therefor the addition of 21916 days.
ti24
Click validate, and correct any ‘ that may be of wrong format.
ti25
Save and run.
ti26
Enter your values and click OK.
ti27
Above error if there is no /logfiles/ folder parallel to the data folder.
Create on folder c:\Program Files\ibm\cognos\tm1_64\samples\tm1\logfiles, if you use a sample TM1 application that do not have a separate log folder.
ti28
Connect to the server and check the log files to see variables values.
ti29
Click on refresh for the view to see the result.
ti30

Things to review:
nBreakDateA = ParseDate( pBreakDateA, ‘yyyyMMdd’,0 );
Above code change the string to a date number, but should be changed so it is not use the 1960 as start date.

if (nStartDateA < nBreakDateA);
Above code check if the date is before a specific date, you can change this to be automatic check for 12 months .

if (nofmonths > 12);
# if total is for from start date to today – you use the same formula
nMonthAmountA = pTotalAmountA / nOfMonths;
else;
Above code check if the difference is more than 12 months, then you can enhance it to calculate the value from January to today date only, if the total is only for this year.

# asciioutput (‘../logfiles/debuglog1.txt’, str(nBreakDateA,8,2),str(nStartDateA,8,2) , numbertostring(pTotalAmountA));
Remark out the debug asciioutput lines from your code.

More information:
http://www.wimgielis.com/tm1_newdateformatter_EN.htm
https://www.exploringtm1.com/date-time-functions-tm1-10-2/
https://www.exploringtm1.com/accumulating-values-in-tm1/

Operators in TI IF Statements

Product:
Cognos BI 10.2.2 (or Cognos Analytics 11.0.x)
Microsoft Windows 2008 Server

Issue:
You have not access to the Cognos Connection. The IBM Cognos service is running, what it looks like in Windows Services. The cogserver.log is empty since last restart.

Error message:
IBM Cognos gateway can not connect to IBM Cognos BI server.

Cause:
The root cause, a corruption in the \wlp\usr\servers\cognosserver\workarea for WebSphere Liberty Profile (WLP)
Solution:
Stop the IBM Cognos Windows service.
Backup the “workarea” folder.
Delete the “workarea” folder at  C:\Program Files\ibm\cognos\analytics\wlp\usr\servers\cognosserver\workarea
Start IBM Cognos service again.

More information:
http://www-01.ibm.com/support/docview.wss?uid=swg22011841
http://www-01.ibm.com/support/docview.wss?uid=swg21991231
http://www-01.ibm.com/support/docview.wss?uid=swg21347919

http://www-01.ibm.com/support/docview.wss?uid=swg21341113

Product:
Cognos Analytics 11.0.12  (kit_version=11.0.12.18062512)
Microsoft Windows Server 2016

Problem:
When in Cognos Connection you go to Administration console. Click on system in left column to have a view of the system health. You get a error instead of the Metrics-system tab.

Error Message:
SOAPFaultException
PRS-TRS-0902 The “XSLT” transform instruction encountered an error while processing the source at location “/cogadmin/transforms/gen-ui-markup/metrics.xslt”.
PF-COM-6204 The complete error has been logged.

Possible cause:
After replace the oracle driver in folder C:\Program Files\ibm\cognos\analytics\drivers to ojdbc7.jar file, the restart of the servers was not done correct.

Solution:
Restart the content manager server first.
Wait to it is finish.
Then restart the other CA (BI REPORT) servers.
Wait until they all are up.

More information:
http://www-01.ibm.com/support/docview.wss?uid=ibm10726007
https://www.ibm.com/support/knowledgecenter/en/SSEP7J_11.0.0/com.ibm.swg.ba.cognos.inst_cr_winux.doc/t_databaseconnectivityforcontentstore_stepsfororacle.html#DatabaseConnectivityforContentStore_StepsforOracle

Product:
Planning Analytics 2.0.5
Planning Analytics Workspace version 35
Linux Red Hat

Issue:
After setup of HTTPS to PAW you can not surf to the paw webpage.
If you check the pa-gateway log files in folder /ibm/paw/log/pa-gateway/ you see a error like this
AH01903: Failed to configure CA certificate chain!
in the pa-proxy-error.log file.

Solution:
Go to the /ibm/paw/config folder and check the file rights
ls -l
drwx—— dockeruser dockeruser 8774 Sep 26 11:03 pa-workspace.pem
if above will give that only the user dockeruser can read the certificate file, and therefor can not Apache read the file and include it in the upstart.
You need to ensure that the group docker can read the files.
To change owner and group of the file enter:
chown dockeruser:docker pa-workspace.pem
To change read rights to the file enter:
chmod 755 pa-workspace.pem
https://ss64.com/bash/chmod.html
https://ss64.com/bash/chown.html

Stop PAW with command in /ibm/paw/scripts folder;
./paw.sh stop
Start paw with command
./paw.sh

Now it should work. (you need to change path and users to match your environment.)

Troubleshoot:
In PUTTY you can write this BASH commands to check the PAW environment.
To check what docker containers that is running enter:
docker ps
if the first one say pa-gateway is restarting, this mean that the Apache server is not up and the pa-gateway can not load.
To go into the pa-gateway container enter:
docker exec -i -t pa-gateway /bin/bash
To read the Apache log enter:
more /var/log/apache2/error.log
Enter exit to return to Linux:
exit
To move to config folder enter:
cd /ibm/paw/config
To check content of paw.env file enter:
more paw.env
To edit paw.env file enter:
nano -w paw.env
Check that below rows are inside the paw.env file, this activate the https:
export EnableSSL=true
export ServerName=paw-server-name.domain.com
To save the changes in NANO enter:
ctrl+o
To exit NANO text editor enter:
ctrl+x

 

Sometimes a container is damage, then you can try to recreate it as below:

Stop the PAW containers with command:
./paw.sh stop
To erase pa-gateway container enter:
docker rm pa-gateway
To start paw and recreate containers missing enter:
./paw.sh

https://docs.docker.com/engine/reference/commandline/rm/

How setup HTTPS with PAW:
https://www.ibm.com/support/knowledgecenter/en/SSD29G_2.0.0/com.ibm.swg.ba.cognos.tm1_inst.2.0.0.doc/t_paw_enable_ssl.html

Product:
Cognos Analytics 11.0.7
Microsoft Windows 2012 server

Issue:
When you surf to Cognos Connection in a new setup of CA11 you get different error messages

Surf to: https://servername.domain.com/ibmcognos
Error: This page cant be displayed
Make sure the web address is correct
Look for the page with your search engine
Refresh the page in a few minutes

Surf to: https://servername.domain.com/ibmcognos/ibmcognos/ibmcognos
Error: server error in /ibmcognos application
the length of the URL for this request exceeds the configured maxUrlLength value.

Surf to: http://servername.domain.com/ibmcognos/bi/
Error: The website declined to show this webpage
Most likely causes:
This website requires you to log in

Surf to: https://servername.domain.com/ibmcognos/bi
Error: A blank page in Internet Explorer

Solution:
Go to Internet Information Services Manager
Check if you have set a HTTP redirect on the default web site, remove and try again.
Check if you have bindings on the default web page, if HTTPS is setup to a specific server name. Try with HTTPS set to a blank host name in the IIS Site binding setting.
Check if you have marked Require SSL for the Default Web Site, in IIS.

Product:
Planning Analytics 2.0.5 (PAX)
Microsoft Windows 2016 Server

Issue:
When you select a TM1 server in list of TM1 connections in Planning Analytics for Excel a HTTP 503 error appears.
If you test the connection to PAW in the options box it is OK.

Possible solution:
Inside the ADMINTOOL for PAW (planning analytics workspace) the value for TM1 Application Server Gateway URI is wrong, it may point to HTTPS when it should point to HTTP.
This if you have changed your setup of TM1WEB(WLP) from HTTPS to HTTP to do some testing.

Copy the URL to a web browser (IE) and test if you can surf there.
Example of URL are:
http://tm1webservername.domain.com:9510

More information:
https://www.exploringtm1.com/client-connection-to-pax/
https://www.ibm.com/communities/analytics/cognos-analytics-blog/cognosanalytics-and-planninganalytics-integration-walkthrough-part-3/

Product:
Planning Analytics 2.0.5 TM1
Microsoft Windows 2016 terminal server
TM1 package connector version 10.2.6100.8-0

Issue:
Inside TM1 architect you get a error when you run a TI process that uses the Package connector. Error happens when you start to import data to TM1 with the process.

Error Message:
Error: MetaData procedure line (0): CCognosPackage::BuildDataSource Exception: (TR3117) Unable to retrieve security objects. Please verify credentials.
– CCL-BIT-0005 A socket reported a communication error.
– CAM_Connect=0xffffffff -2113929065CAM-CRP-0321 The GSKit function ‘gsk_environment_init’ failed with the error code ‘9’

Solution:
Ensure that on the Planning Analytics server, where the TM1 applications are, that you have the GSK*.dll files that come with the TM1 package connector version. If they have been replace to solve other issues, you need to copy them back.

A clean new install of TM1 Package Connector on the PA 2.0.5 server can also help.

More information:

http://www-01.ibm.com/support/docview.wss?uid=swg21988056

Product:
Planning Analytics 2.0.5 TM1 Perspective version 11.0.5.79-0
Microsoft Windows 2016 terminal server
TM1 package connector version 10.2.6100.8-0

Issue:
When you start TM1 Perspective you get a error, if TM1 Package Connector is installed on the same computer. If you remove TM1 Package connector – then TM1 perspective works fine.

Error message:
Microsoft Excel
Missing Library c:\program files\ibm\cognos\tm1_perspective\bin\gsk8ssl.dll
C:\program files\ibm\cognos\tm1_perspective\bin\gsk8km.dll

Suggested solution:
After install of TM1 Perspective, copy the gsk8*.dll files from the c:\program files\ibm\cognos\tm1_perspective\bin folder to the package connector folder c:\program files(x86)\ibm\cognos\c10\bin folder. Overwrite the existing files.

Test to start TM1 perspective again.

If you use a older TM1 Package Connector version, then above error is also gone.

Product:
Planning Analytics 2.0.5
Planning Analytics for Office
Microsoft Windows 2016 server

Problem:
When you connect to PAW server from PAX inside Excel you get a error.

Error message:
System.Net.WebException: Unable to connect to the remote server —> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 192.168.200.10:8080
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Exception& exception)
— End of inner exception stack trace —
at System.Net.HttpWebRequest.GetResponse()
at Cognos.Office.Reporting.Common.ImageBalloon.ShowAnimation()

Possible solution:
That a proxy server is setup inside IE – Internet options that is preventing the communication to happen.

Go to Control panel on your laptop
Click on Internet Options
Click Connections tab
Click LAN settings button
Unmark Proxy server
Click OK and test again.

More information:
https://www.exploringtm1.com/how-to-install-planning-analytics-for-excel-pax/
https://www.ibm.com/support/knowledgecenter/en/SSD29G_2.0.0/com.ibm.swg.ba.cognos.tm1_inst.2.0.0.doc/t_tm1_inst_sso_pax.html

Setup of SSL at TM1WEB
https://www.ibm.com/support/knowledgecenter/SSD29G_2.0.0/com.ibm.swg.ba.cognos.tm1_inst.2.0.0.doc/t_pa_use_ibmkeymgmt.html

Product:
Planning Analytics 2.0.5
PAX and PAW
Cognos Analytics 11.0.12
Microsoft Windows 2016 server

Problem:
When starting Excel and selecting Planning Analytics for Excel (TM1) you get a error after the login dialog.

Error message:
Cognos.Office.Tm1.Connections.Tm1WebException: The remote server returned an error: (503) Server Unavailable. —> System.Net.WebException: The remote server returned an error: (503) Server Unavailable.
at System.Net.HttpWebRequest.GetResponse()
at Cognos.Office.Tm1.Connections.Tm1Request.GetResponse()
— End of inner exception stack trace —
at Cognos.Office.Tm1.Connections.Tm1Connection.HandleWebException(Tm1WebException x, Uri path)
at Cognos.Office.Tm1.Connections.Tm1Connection.GetResponse(Tm1Request request)
at Cognos.Office.Tm1.Connections.Tm1Connection.SendRequest(Tm1Request webRequest, AcceptReturnEnum returns)
at Cognos.Office.Tm1.Connections.Tm1Connection.SendRequest(String method, String path, String postData, AcceptReturnEnum returns, Int32 timeout)
at Cognos.Office.Tm1.Connections.Tm1Connection.Get(String path, AcceptReturnEnum file, Int32 timeout)
at Cognos.Office.Tm1.Rest.Tm1RestCapabilities..ctor(Tm1Connection connection, String server, Int32 timeout)
at Cognos.Office.Tm1.Rest.Tm1RestConnection.RefreshCapabilities(String server, String path)
at Cognos.Office.Tm1.Rest.Tm1RestServer.UpdateCapabilities(String serverName)
at Cognos.Office.Tm1.Rest.Tm1RestDataSource.UpdateCapabilities(String serverName)
at Cognos.Office.Tm1.Tm1DataSource.On_LogOn(String server)
at Cognos.Office.Tm1.Tm1DataSource.Logon(LogonType logonType, DataSourcePropertiesCollection properties)
at Cognos.Office.Framework.Communications.DataSourceManager.LogOn(String dsType, String connectionString, String serverName, IDataSource& source)

Solution:
Check the values in PAW Admintool, special for the TM1 Application Server gateway URI. If that is wrong, like use HTTP instead of HTTPS when you have switch TM1WEB to use SSL, you will get above error inside PAX. To surf to PAW will still work fine.

When a user start Excel and PAX, the first connection is to the PAW server.
Then the PAW server will check the TM1S.CFG for value ClientCAMURI=http://caservername.domain.com/ibmcognos/bi/v1/disp
this URL will be used by PAX to log you in. After you login, the PMHUB.HTML file need to list the URL to PAW to allow you to get back.
You need to check the pmhub.html file in folder c:\Program Files\ibm\cognos\analytics\webcontent and c:\Program Files\ibm\cognos\analytics\webcontent\bi.
Open it in notepad++ and check that the PAW servers name or DNS alias at var pmhubURLs = [“https://tm1web.domain.com:9443” , “https://centospaw.lab.local”];
When you are back at PAW server in the communication route – pax will use the PAW ADMINTOOLS value in TM1 Application Server gateway URI before it show you are connected. If that value does not point to the CA11 server you get above error.

PAX is not using the PAW ADMINTOOLS value for IBM Cognos BI Gateway URI, instead you have the value  export TM1LoginServerURL=”https://tm1serverhost:12345″ in the paw.env file. The TM1 application that use the HTTPPortNumber = 12345, that value in its tm1s.cfg file is used.

If the value in PMHUB.HTML is wrong you get a error like “Cannot redirect back to planning analytics because the host URL (http://centospaw.lab.local) has not been whitelisted.”

Do not enter the port number for paw server in the PMHUB.HTML file.