Product:
Planning Analytics Workspace 98

Microsoft Windows 2019 server

Issue:

How do i get a weather report inside my book?

Solution:

Use one of the free sites that provide plug-ins for things like weather to your website.

Booked.net – book hotel online

Create a crafted picture that is run and updated on there site.
Enter that code to a standalone webpage, and use that URL to the webpage inside PAW.

You have to enter the location, and then grab the code for a picture.

Place the code in a html page, you then reference inside PAW url like:  https://tm1.dk/weather/amsterdam.html

www.booked.net

https://tm1.dk/weather/newyork.html

https://tm1.dk/weather/tokyo.html

https://tm1.dk/weather/losangeles.html

More information:

https://weather.tomorrow.io/widget/

https://weatherwidget.org/

https://weatherwidget.io/

Product:
IBM Planning Analytics Local 2.1.9  tm1server = 11.8.02900.8
Microsoft Windows 2022 server

Issue:

How install PAL 2.1.9?

Solution:

Download the latest version from IBM

https://www.ibm.com/support/pages/node/7185721

Download only the Windows installation files from the different parts.

IBM Pafe x86 is for you if you have a 32 bit version of excel installed (this the most companies use)

IPA workspace win 2022 is the installation package for PAW for Windows 2022 server.

Before uninstall previous version, take a backup of changed files, like certificate store and samples in C:\Program Files\ibm\cognos\tm1_64\samples\tm1\ folder.

Unzip the packages to get the installation media out, and copy it to a folder on the server.

Run the install from file: analytics-installer-4.0.5-win.exe

Select language and click next

Click next

Click next

Verify the hard drive you are going to install to and click next

Click Yes

Click next

Click Install

Click done

 

To install the TM1 admin service, you must go to a CMD prompt, and move to the bin64 folder:

C:\Program Files\ibm\tm1_64\bin64  and enter command: Tm1admsd -install

Before you install the TM1 instances, check the tm1s.cfg file to have the correct values for: (some must be unique for each application)

IntegratedSecurityMode=5

UseSSL=T

ServerName=Planning Sample

DataBaseDirectory="d:\TM1Data\PlanSamp\data"

LoggingDirectory="d:\TM1Data\PlanSamp\Logfiles"

PortNumber=12345

HTTPPortNumber=12354

ServerCAMURI=http://caservername.domain.com:9300/p2pd/servlet/dispatch

ClientCAMURI=http://caservername.domain.com/ibmcognos/bi/v1/disp

 

https://www.ibm.com/docs/en/planning-analytics/2.1.0?topic=local-planning-analytics-database-configuration-parameters

 

To install a instance to be in Windows service, enter:

tm1sd.exe -install -n "nameofapplication" -z "D:\TM1Data\SData\Config"

Where nameofapplication should be the same as you have entered as ServerName=nameofapplication

Think about the naming of the application will affect how it look in Windows services. Do not use non-english letters in the name.

Click on each TM1 service, and go to properties, and change the settings to Automatic. This to make them start when the server reboots.
To stop a TM1 instance, you have now go to Windows services and right click and select stop. Be aware that big TM1 instances, may crash during stop, and need to recover from log files when started.

If you have enter the wrong name, remove the TM1 instance with command tm1sd.exe -remove

 

Backup all TM1WEB configuration files, before doing any installation.

Run the installation of TM1WEB with file analytics-installer-3.7.37-win.exe

Select language and click next

Click next

Click next

Check the hard drive and click next (note; that tm1web install to the old folder)

Click yes

Click install

Click done

The service is automatic registered as: tm1web  – right click and start all TM1 instances and TM1WEB.

You change the port tm1web are listen to in file : C:\Program Files\ibm\cognos\tm1web\wlp\usr\servers\tm1web\server.xml

Default port is 9510.

You update tuning values in file : C:\Program Files\ibm\cognos\tm1web\webapps\tm1web\WEB-INF\configuration\tm1web_config.xml

Change the values, from your notes of previous installation, and save the file and restart the service.

When you get it to work – it should look like above.  Browse to http://servername:9510/tm1web

The version of the installed TM1 program is now in other txt files than before.

 

(You must install PAW on a separate server, to be able to work with your TM1 instances.)

Please note that Planning Analytics for Microsoft Excel require that the client (laptop) have Microsoft .NET Framework 4.8 installed.

PAL 2.1.9 only support this versions of Windows server e.g. 2022.

PAW 2.1.9 demands Mirantis runtime on Windows to work.

On Linux there is other demands.

More Information:

https://www.pantarhei.at/wp-content/uploads/2024/09/IBM-Planning-Analytics-2.1_Installation-and-Configuration.pdf

https://www.ibm.com/docs/en/planning-analytics/2.1.0?topic=configuration-upgrading-planning-analytics-local-21

https://endoflife.date/windows-server

https://www.ibm.com/docs/en/planning-analytics/2.1.0?topic=rtso-setting-up-tm1-server-run-as-windows-service

https://www.ibm.com/docs/en/planning-analytics/2.1.0?topic=parameters-planning-analytics-spreadsheet-servicestm1-web-configuration

https://www.ibm.com/docs/en/planning-analytics/2.1.0?topic=parameters-configuring-custom-homepage-tm1-web

https://exploringtm1.com/configure-planning-analytics-spreadsheet-services-ssl-certificate/

https://www.ibm.com/docs/en/planning-analytics/2.1.0?topic=parameters-setting-tm1-web-session-timeout

https://www.ibm.com/docs/en/planning-analytics/2.1.0?topic=web-configuring-browsers-cognos-tm1

https://www.ibm.com/docs/en/planning-analytics/2.1.0?topic=security-cognos

https://www.ibm.com/docs/en/planning-analytics/2.1.0?topic=security-configuring-tm1-web-use-cognos

https://www.ibm.com/docs/en/planning-analytics/2.1.0?topic=upal2-upgrading-planning-analytics-workspace-local-from-version-20-21

 

Product:
Planning Analytics 2.1.7 TM1_version=TM1-AW64-ML-RTM-11.0.7.1-0
Microsoft Windows 2022 server
IBM Planning Analytics Spreadsheet Services

Issue:

After upgrade of tm1web, when start up the Tm1web page in the browser, you get a error:

Unsupported protocolSSL_TLSv2

Solution:

Stop the tm1web service (IBM Planning Analytics Spreadsheet Services)

Go to folder D:\Program Files\ibm\cognos\tm1web\wlp\usr\servers\tm1web

Rename jvm.options to jvm.options.old

Rename jvm.options.new to jvm.options

Start the tm1web service.

 

 

More Information:

https://www.ibm.com/support/pages/node/7167839

The parameter -Dcom.ibm.jsse2.overrideDefaultProtocol=TLSv1.2 is needed.

Product:
Planning Analytics 2.0.9.19
Pafe version 100 (IBM_PAfE_x86_2.0.100.3.xll)
Planning Analytics Workspace 100, or earlier versions.

Issue:
When you connect in PAX (Planning Analytics for Excel) to a TM1 server, you get a error for some of the TM1 instance you have on your server, but not all.

System.Net.WebException: The remote server returned an error: (502) Bad Gateway.
at System.Net.HttpWebRequest.GetResponse()

Solution:

Check the TM1S.CFG file for differences, between a working TM1 application and none working TM1 application.

If you use the command tlsCipherList in TM1S.CFG file, it must be on ONE line.

Above will give errors, but below line will not.

You need to ensure that all parameters in the file is on one line only.

 

Other possible solution, can be that the firewall is not open the ports needed between the PAW server and the TM1 server.

Check from the PAW server that you have access to the TM1 server on all needed TCP ports.

 

More Information:

https://www.ibm.com/docs/en/planning-analytics/2.0.0?topic=pa2f82-disable-des-3des-ciphers-in-planning-analytics-mitigate-false-positive-security-scans-1 

 

Product:
Planning Analytics version 2.0.9.19 (PAL)
Microsoft Windows 2019 Server

Issue:
How upgrade to Planning Analytics Workspace 100 from version 96 on Microsoft Windows 2019 server?

Solution:

Download the correct file from IBM Fix Pack.  https://www.ibm.com/support/pages/download-ibm-planning-analytics-local-v20-planning-analytics-workspace-release-100-fix-central

ipa_workspace_win_2019_2.0.100.219.zip

Copy the zip file to your Windows server where you run PAW.  Unzip the file to a folder named d:\running\paw100, should look like below (after the installation)

Ensure that the Windows server have 25 GB ram (the new version of PAW demands more memory).
Ensure you have at least 100 GB free disk space on the server, (the installation takes around 12 GB for the new version).

This version use a new Mongo database, before you upgrade you need to backup your content in the existing solution.

Update the anti-virus software on the Windows server to not scan above newly created folder and subfolders.

Start powershell as administrator, and go to the old PAW installation folder.
Run backup.ps1 from the scripts folder.

This will restart the PAW and create backup in a folder with todays date, as below:

Now you in the \paw96\scripts folder enter paw.ps1 stop, to stop the old version from running.

Enter docker ps, to check that there is no containers running, before you start the installation.

Copy the d:/paw96/config/paw.ps1 file from your current installation to the new installation location e.g.  d:\running\paw100\config\.

Copy the d:/paw96/config/certs directory from your current installation to the new installation location.

If you have configured SSL, copy the <paw_install_location>/config/ssl directory from your current installation to the new installation location.

Inside the powershell window, go to the new folder d:\running\paw100 and enter start.ps1

After the check have passed, enter y to start the installation.

Enter yes, to get the installation to continue, after you confirmed that you have made a backup.

Enter y to start the Administrative console.  If you have chrome on the server, it will start up and you have to accept the license requirements for all 3 parties components.

You can see the version number above, to ensure you are installing version 100.

When you get to the configuration page, click validate, to ensure that all ports are still open. The config URL should be the same as they are read from the paw file you copied before.

 

TM1 application server gateway URI is not used anymore, so this error is OK.  Click on update, to restart the PAW containers.

On the status page, can you see what process take the most CPU at the moment. The start of PAW take time, you have to wait.

If you get a lot of errors, you may need faster CPU and more MEMORY on the server.

When the server settles, and you have check that you can browse to your planning analytics workspace from you chrome web browser, it is time to restore the databases.

Inside Powershell window on server, copy the path to you backup folder, and then go to the new script folder at d:\running\paw100\scripts and enter restore.ps1 “path to you backup folder” as picture show below:

This will stop PAW and restore the database, so you have all your books and reports back into PAW.

When all is running, you should have this containers on your PAW server:

Now you need to go to your administrator page in PAW, and click on agent, to come to the page where you can download the new PAA agent file to install on your TM1 servers.

Download the file paa-agent-pkg-2.0.100.1800.zip

Copy the file to the TM1 server, and unzip it to a folder like d:\temp\paa

Check the path to your existing PAA agent – D:\Program Files\ibm\cognos\tm1_64\paa_agent..
Make a backup of file D:\Program Files\ibm\cognos\tm1_64\paa_agent\wlp\usr\servers\kate-agent\bootstrap.properties

Start a command prompt as administrator, and go to the folder where you have unzip the paa agent files.  Enter  updatepaaagent.bat “d:\program files\ibm\cognos\tm1_64”

When it is done, start your web browser on your laptop and go to the PAW site, and go to administration, agent, to test the mail function, click on Test email.

Email will only work if you have it configured.

 

Check that you have your folders and books back in PAW. If all works, then the upgrade was a success.

https://www.ibm.com/docs/en/planning-analytics/2.0.0?topic=2wnj12-enable-email-notifications-in-planning-analytics-workspace-local-1

 

More Information:

https://exploringtm1.com/planning-analytics-workspace-scripts/ 

https://www.ibm.com/docs/en/planning-analytics/2.0.0?topic=local-upgrade-planning-analytics-workspace 

https://www.ibm.com/docs/en/planning-analytics/2.0.0?topic=ipawl-install-planning-analytics-workspace-local-windows-server-2019-2022 

https://www.ibm.com/support/pages/important-upgrade-requirement-planning-analytics-workspace-local-20100-and-217 

https://www.ibm.com/docs/en/planning-analytics/2.0.0?topic=local-backup-restore-planning-analytics-workspace 

https://www.ibm.com/support/pages/after-each-reboot-some-planning-analytics-workspace-containers-are-failing-start 

 

https://www.ibm.com/docs/en/planning-analytics/2.0.0?topic=components-planning-analytics-administration-agent-local-only

https://www.ibm.com/docs/en/planning-analytics/2.0.0?topic=integrations-configure-integration-watsonxai-support-decision-optimization 

https://cloud.ibm.com/apidocs/watson-data-api#creating-an-iam-bearer-token 

https://cubewise.com/blog/ibm-planning-analytics-workspace-paw-2-0-100-2-1-7/

Product:
Planning Analytics 2.0.9.19
Microsoft Windows 2019 server

Issue:
How export a cube to file?

Suggested solution:

If you have a cube that looks like this, in planning sample, you can export it with a TM1 TI process.

You can write a process to export it that should look like this:

#Section Prolog

# -- get the time --
LastProcessStart = TIMST(NOW, '\Y-\m-\D \h:\i:\s');

# -- set the process as a subset name --
sName = GetProcessName();
ViewName = sName ;
SubName = sName ;

# -- check the folder to save the environment file 
DimName1='SYS_ServerParameters';
Element1 = 'ServerName' ;
Element2 = 'LastUpdated' ;

# -- find the data folder from the path of the logs folders---
sLogDirName1 = LOWER ('Logfiles\' ) ;
sLogDirName2 = LOWER ('Logs\' ) ;
sDataDirName = LOWER ( 'Data\' ) ;
sBackupDirName = LOWER ( 'Config\' );
sENvFileName = 'environment.txt' ;
sLogDirPath = LOWER( GetProcessErrorFileDirectory );

nLyckadScan1 = SCAN (sLogDirName1, sLogDirPath) ;
nLyckadScan2 = SCAN (sLogDirName2, sLogDirPath) ;
IF ( nLyckadScan1 <> 0 );
sDataDirPath = DELET (sLogDirPath, nLyckadScan1, LONG (sLogDirName1)) | sDataDirName;
sEnvDirPath = DELET (sLogDirPath, nLyckadScan1, LONG (sLogDirName1)) | sENvFileName;
ELSEIF ( nLyckadScan2 <> 0 );
sDataDirPath = DELET (sLogDirPath, nLyckadScan2, LONG (sLogDirName2)) | sDataDirName;
sEnvDirPath = DELET (sLogDirPath, nLyckadScan2, LONG (sLogDirName2)) | sENvFileName;
ELSE;
# the log folder does not have this name use this then --
sEnvDirPath = 'D:\Program Files\ibm\cognos\tm1_64\samples\tm1\PlanSamp\' | sEnvFileName ;
ENDIF;

# -- check that the cube exist
cube = 'Systemparameters';
DimName3 = 'Sysparameters' ;
DimName4 = 'Measure Parameter';
DimName5= 'Text' ;

IF ( CubeExists( Cube ) = 0 ) ;
# -- if cube does not exist - stop the process --
ProcessQuit ;
ENDIF;

# build the view - but first destroy it
ViewDestroy ( Cube, ViewName );
SubsetDestroy ( DimName3, SubName );
SubsetDestroy ( DimName4, SubName );

#-- create a view --
ViewCreate ( Cube, ViewName );

#-- create the subsets --
SubsetCreateByMDX ( SubName, '{TM1FILTERBYLEVEL( {TM1SUBSETALL( [' | DimName3 | '] )}, 0)}' );
SubsetCreateByMDX ( SubName, '{TM1FILTERBYLEVEL( {TM1SUBSETALL( [' | DimName4 | '] )}, 0)}' );

ViewSubsetAssign ( Cube, ViewName, DimName3, SubName );
ViewSubsetAssign ( Cube, ViewName, DimName4, SubName );

# -- set the source to skip calculated values --
ViewExtractSkipCalcsSet ( Cube, ViewName, 1);
ViewExtractSkipRuleValuesSet ( Cube, ViewName, 0 );
ViewExtractSkipZeroesSet ( Cube, ViewName, 1 );

# -- Set source --
DataSourceType='VIEW';
DataSourceNameForServer=Cube;
DataSourceCubeview=ViewName;

# -- Change to get comma in the text file
DatasourceASCIIQuoteCharacter='"';
DatasourceASCIIDelimiter = ',';

#Section Metadata

# -- get the servername from dimension --
aServerName = ATTRS( DimName1, Element1 , 'value') ;
vApplication = aServerName | ':' | DimName3 ;

# -- export the values to file --
ASCIIOutput( sEnvDirPath, vApplication ,v1,v2,v3 );


#Section Data



#Section Epilog

ViewDestroy ( Cube, ViewName );
SubsetDestroy ( DimName3, SubName );
SubsetDestroy ( DimName4, SubName );

 

The TI process need to have a data source like this:

The file will look like below;

 

You can write a process to import the csv file that can look like this (you have to adjust the code to your environment) :

#Section Prolog

# -- get the time --
LastProcessStart = TIMST(NOW, '\Y-\m-\D \h:\i:\s');

# -- check the folder to load the environment file from
DimName1='SYS_ServerParameters';
Element1 = 'ServerName' ;
Element2 = 'LastUpdated' ;

# -- try to find the data folder from the logs folder ---
sLogDirName1 = LOWER ('Logfiles\' ) ;
sLogDirName2 = LOWER ('Logs\' ) ;
sDataDirName = LOWER ( 'Data\' ) ;
sBackupDirName = LOWER ( 'Config\' );
sEnvFileName = 'environment.txt' ;
sLogDirPath = LOWER( GetProcessErrorFileDirectory );

nLyckadScan1 = SCAN (sLogDirName1, sLogDirPath) ;
nLyckadScan2 = SCAN (sLogDirName2, sLogDirPath) ;
IF ( nLyckadScan1 <> 0 );
sDataDirPath = DELET (sLogDirPath, nLyckadScan1, LONG (sLogDirName1)) | sDataDirName;
sEnvDirPath = DELET (sLogDirPath, nLyckadScan1, LONG (sLogDirName1)) | sEnvFileName;
ELSEIF ( nLyckadScan2 <> 0 );
sDataDirPath = DELET (sLogDirPath, nLyckadScan2, LONG (sLogDirName2)) | sDataDirName;
sEnvDirPath = DELET (sLogDirPath, nLyckadScan2, LONG (sLogDirName2)) | sEnvFileName;
ELSE;
# we chance that the log and data folder are the same
sEnvDirPath = 'D:\Program Files\ibm\cognos\tm1_64\samples\tm1\PlanSamp\' | sEnvFileName ;
ENDIF;


# -- setup the parameter cube --
cube2 = 'Systemparameters';
DimName3 = 'Sysparameters' ;
DimName4 = 'Measure Parameter';
Element5= 'Text' ;

# -- check that that the cube exist
IF ( CubeExists( Cube2 ) = 0 ) ;
IF (DimensionExists( DimName3 ) = 0 ) ;
DimensionCreate (DimName3 ) ;
ENDIF;
IF (DimensionExists( DimName4 ) = 0 ) ;
DimensionCreate (DimName4 ) ;
ENDIF;
# -- create a cube
CubeCreate(Cube2, DimName3 , DimName4 );
ENDIF;

DimensionElementInsertDirect (DimName4, '', Element5 ,'S') ;


# -- set the source to be the file
DatasourceNameForServer = sEnvDirPath ;
DatasourceNameForClient = sEnvDirPath ;

#Section Metadata

#-- check that the application is correct from the file
# SCAN(substring, string)
vLocation = SCAN(':',vApplication ) ;
vServerName = SUBST( vApplication, 1, vlocation - 1 ) ;
aServerName = ATTRS( DimName1, Element1 , 'value') ;
IF (aServerName @<> vServerName);
ProcessQuit;
ENDIF;

# -- add the dimension element from vParameter
# DimensionElementInsertDirect(DimName, InsertionPoint, ElName,ElType);
DimensionElementInsertDirect (DimName3, '', vParameter ,'S') ;

# -- add the lastupdated parameter
DimensionElementInsertDirect (DimName3, '', Element2 ,'S') ;

#Section Data

# -- load the data to the cube 
CellPutS( vValue, cube2, vParameter, vColumn );


#Section Epilog

# -- write the time to cube
CellPutS( LastProcessStart, cube2, Element2, vColumn );

The import TI process need to have a file as data source, similar to this:

Both process demand that you have a dimension (SYS_ServerParameters) that have the name of the application.

This can be done with the process SYS.GET_ServerParameters.

More Information:

https://www.ibm.com/docs/ru/planning-analytics/2.0.0?topic=data-exporting-from-cube

https://www.ibm.com/docs/en/cognos-tm1/10.2.2?topic=file-parameters-in-tm1scfg 

https://exploringtm1.com/how-to-create-a-tm1-model-a-best-practice-guide/

https://cubewise.com/blog/adjusting-server-configuration-planning-analytics/

https://bihints.com/book/export/html/100

https://exploringtm1.com/text-file-export-tm1-asciioutput-functions/

Product:
Planning Analytics 2.0.9.19
Microsoft Windows 2019 server

Issue:
I would like to turn of the DEV Tm1 servers during the weekend, can i do it with a chore?

Solution:

Create a parameter cube, something like below, add the tm1 instance name in the application column. Set a Y in Stop column if you would like the chore to stop the service. In the last two columns, we update the time when it was stopped or started.

# -- setup the parameter cube --

Cube = 'ScheduleCube' ;
DimName1 = 'sApplication' ;
DimName2 = 'ScheduleMeasures' ;
sLoadtestdata = 'NO' ;
# sLoadtestdata = 'YES' ;

DimensionDestroy (DimName1 ) ;
DimensionCreate (DimName1 ) ;

# -- add elements
nNum = 1;
While( nNum <= 15 );
sNum = numbertostring (nNum) ;
DimensionElementInsertDirect(DimName1 ,'', sNum , 'N' ) ;
nNum = nNum + 1;
End;



DimensionDestroy (DimName2);
DimensionCreate (DimName2 );

# -- add elements
DimensionElementInsertDirect (DimName2 ,'', 'Application' , 'S' ) ;
DimensionElementInsertDirect (DimName2 ,'', 'Text' , 'S' ) ;
DimensionElementInsertDirect (DimName2 ,'', 'StartRun' , 'S' ) ;
DimensionElementInsertDirect (DimName2 ,'', 'StopRun' , 'S' ) ;
DimensionElementInsertDirect (DimName2 ,'', 'Stop' , 'S' ) ;
DimensionElementInsertDirect (DimName2 ,'', 'Start' , 'S' ) ;
DimensionElementInsertDirect (DimName2 ,'', 'Last Stopped' , 'S' ) ;
DimensionElementInsertDirect (DimName2 ,'', 'Last Started' , 'S' ) ;


# -- create a cube
CubeCreate(Cube, DimName1 , DimName2 );

# -- add data to cube --

IF ( sLoadtestdata @= 'YES' ) ;
cellputs ( 'planning sample' , Cube , '1' , 'application' ) ;
cellputs ( 'Y' , Cube , '1' , 'Start' ) ;
cellputs ( 'Y' , Cube , '1' , 'Stop' ) ;
cellputs ( 'proven_techniques' , Cube , '2' , 'application' ) ;

# -- add your default test data here -- 
ENDIF;

Create then a TM1 TI process to stop services:

# --- stop a service --

Cube = 'ScheduleCube' ;
DimName1 = 'sApplication' ;
DimName2 = 'ScheduleMeasures' ;

# -- check number of elements --
nLong = DIMSIZ (DimName1) ;
nNum = 1 ;
WHILE ( nNum <= nLong ) ;
sNum = numbertostring (nNum) ;
# -- get the application name --
sApp = CELLGETS ( cube , sNum, 'Application' ) ;
# -- check that it is not empty --
IF (LONG (sApp) <> 0 );
# -- check that it is suppose to be stopped --
IF ('Y' @= CELLGETS ( cube, sNum, 'Stop' ) ) ;

# -- get the time and put in the cube --
sTime = TIMST(now, '\Y-\m-\d \h:\i:\s');
CELLPUTS ( sTime, cube, sNum, 'Last Stopped' ) ;
# -- make the call to stop --

sBatchFile = 'NET STOP "' | sApp |'"' ;
ExecuteCommand('cmd /c ' | sBatchFile, 0);

ENDIF;
ENDIF;
nNum = nNum +1 ;
END;


Create a TM1 TI process to start services:

# -- start a service --

Cube = 'ScheduleCube' ;
DimName1 = 'sApplication' ;
DimName2 = 'ScheduleMeasures' ;

# -- check number of elements --
nLong = DIMSIZ (DimName1) ;
nNum = 1 ;
WHILE ( nNum <= nLong ) ;
sNum = numbertostring (nNum) ;
# -- get the application name --
sApp = CELLGETS ( cube , sNum, 'Application' ) ;
# -- check that it is not empty
IF (LONG (sApp) <> 0 );
# check that it is suppose to be started --
IF ('Y' @= CELLGETS ( cube, sNum, 'Start' ) ) ;

# -- get the time and put in the cube --
sTime = TIMST(now, '\Y-\m-\d \h:\i:\s');
CELLPUTS ( sTime, cube, sNum, 'Last Started' ) ;
# -- make the call to start --

sBatchFile = 'NET START "' | sApp |'"' ;

ExecuteCommand('cmd /c ' | sBatchFile, 0);

ENDIF;
ENDIF;
nNum = nNum +1 ;
END;

 

Schedule them in cores, to run on Friday at 2300 and on Monday at 0300 – to get it to stop and start the service.

I recommend that you have a “savedataall” in the TM1 applications that run every Friday before above.

Set the chore to start on the weekday it should stop the service, and set it to run the chore every 7 days.

More Information about other things:

https://www.ibm.com/docs/en/planning-analytics/2.0.0?topic=smtf-savedataall

https://www.mci.co.za/business-performance-management/learning-mdx-views-in-ibm-planning-analytics/

Primary sales forecasting using PA, SPSS Modeler and python

https://www.wimgielis.com/tm1_createatestcube_EN.htm

Product:

Planning Analytics 2.0.9.19
Microsoft Windows 2019 server

Issue:

TI Process take longer to run – and TM1 Architect is non responsive. If you check the tm1server.log file, you find text like this:

TM1.Server sf_Rename: Failed to rename (d:\tm1data\products}subs\nameoftheprocesshaveingissus.sub) to (d:\tm1data\products}subs\nameoftheprocesshaveingissus.sub$$$). Error: error code:5 reason:”Access is denied.” file..
….could not rename file to intermediate file, “nameoftheprocesshaveingissus.sub” to “nameoftheprocesshaveingissus.sub$$$” after 10 retrys in 20 seconds…

 

Solution:

Go into Windows service and change the user that run the Cognos TM1 server instance to be Local System instead of a specific user or service account.

Maybe security demands on the server NTFS have change by use of any new Windows Policy.

Make certain you are logged into Windows with a user account that has permission to access the location (the folder where the tm1 application is). In the case of running any process that create subset or views, you will need to make sure your user account (that run the TM1 service) has permission to save files to the software’s data and subfolders.

 

Product:

Planning Analytics 2.0.9.19
Microsoft Windows 2019 Server

Issue:
How start or stop a TM1 instance from command line?

Solution:

There is a bat file in the TM1 installation you can take help from – check the folder : C:\Program Files\ibm\cognos\tm1_64\bin64

startup_tm1s.bat <path to tm1s.cfg file> { <TM1 Server Name> }

Above will start the TM1 if it is installed, otherwise it will install the TM1 instance and start it. Service_tm1s.bat file will both start and stop a TM1 instance.

Write a CMD file that have command of this character to use it;

Here we start TM1 instance FAP, in folder c:\tm1data\FAP\config.

>service_tm1s.bat stop TM1ServerConfigFolder TM1Servername

>service_tm1s.bat start TM1ServerConfigFolder TM1Servername

The downsize is that you need to inform of the path to the TM1 config file.

A bat file with the NET START command is better.

REM Stop the services
NET STOP "FAP" /Y

REM Start the services again
NET START "FAP"

More Information:

https://www.wimgielis.com/tm1_backup_EN.htm 

https://exploringtm1.com/how-to-do-a-daily-or-weekly-restart-a-tm1-model/

https://ecapitaladvisors.com/blog/how-to-set-up-turbo-integrator-chores-to-run-advanced-scheduling/ 

https://www.coretechnologies.com/products/ServiceScheduler/ 

https://support.pelco.com/s/article/Configure-a-Windows-service-to-restart-on-a-schedule-using-Task-Scheduler-1538586706677?language=en_US 

Product:

Planning Analytics 2.0.9.19

Issue:

Want the user name, running the TM1 TI process to be in the filename – how?

Solution:

There are many ways to do this, check internet and tm1py.

But this is a suggestion, when you use CAMID with Cognos Analytics:

# -- get the user
sUserRAW = TM1User() ;

IF ( SCAN ('R*S' ,sUserRAW ) <> 0 ) ;
sUser = 'Scheduled' ;
ELSE;
# -- get the alias 
sUserALIAS = ATTRS( '}Clients' , sUserRaw , '}TM1_DefaultDisplayValue') ;
# -- find the name part of the domain/name 
sUserBREAK = SCAN ( '/' , sUserALIAS ) ;
# -- SUBST(string, beginning, length) 
sUser = SUBST( sUserALIAS, sUserBREAK +1, LONG (sUserALIAS) - ( sUserBREAK ) ) ;
ENDIF;

sFileName = 'Data.' | sUser | '.' | TIMST( NOW(), '\Y\m\d.\h\i', 1) | '.zip';

 

 

More Information:

https://everanalytics.wordpress.com/2017/08/10/tm1_alias_attributes/ 

https://www.ibm.com/docs/en/planning-analytics/2.1.0?topic=mtf-tm1user