Posts

HFM: Performance Tuning on Application

Image
There are three Planning Applications (seven Plan Types) are already there in Production, all perform well. After HFM was migrated from SIT to the Production environment recently, we immediately noticed the performance of HFM is not well. Normally it takes 15 seconds to open a HFM application in SIT, in production it takes over a minute to open (if after the services are recycled, it takes more than four minutes to open a HFM application). However, the consolidation time is sort of normal. (two to five minutes to consolidate a month, which contains about 400K of records). Following is the list of tuning activities, with regards to HFM tuning - 1) From DB side      a) Ask DBA to confirm that Auto Create Statistics is enabled for the HFM schema.      b) Have DBA check how frequently the SQL Server is doing automatic statistics maintenance.      c) Ask the DBA if the indexes may need to be defraged. DBA reported back -      a) Auto Create Statistics are enabled for all the

What's wrong with SV in report scripts?

Image
Substitution Variable (SV) is a powerful tool, used developers in calculation scripts, business rule, load rules, partition, formulas and report scripts.It seems like a pretty simple task, right? But in this case, SV used in report scripts - working in some cases, not in others, caused me many hours of headache and eventually figured it out an end. I started by adding SV this way (which is not uncommon, right?)   Report Scripts in some databases run successfully, which is what I expected. However, in some databases of one same application, report script just don't work.Here is an example, validation is fine, but wont produce any data (if I change to hard code variables, it will produce data)   Go to the log file, try to find out what is wrong - It complains about the variable is Unknown! Why? Check the administration guide, I am clearly using the correct syntax! After hours and hours of trying different ways and combination, I finally figured out the way. Here is

Backups and Rollback / Recovery / Migration in PBCS

Image
In PBCS, you no longer have access to Hyperion servers, this is different from the your on-premise environment. Automated backup with job scheduler and archived them for days or weeks in case when a restoration or roll back is needed becomes un available. This post s a clear challenge to Hyperion administrators . However, there is a good news. PBCS comes with a backup routine called Daily Maintenance. This will allow you to setup a time and automatically run backup, called snapshot. Well, the bad news is that you have to download them to you local computer/server then save them for archive purpose. See the following steps for setup. Setting Up S ervice M aintenance Time -  1) From Navigator, Tool, Daily Maintenance 2)  Select Start Time, then click Apply. Th e daily backup will go to Artif act S napshot under S napshot 3 )  You can check the st atus from the M igration S tatus R eport. It will show green Completed status when it ran successfully . You can then downlo

Common functions used in calculation scripts

ESSBASE common functions: /*@RELATIVE to bring level 0 members and @REMOVE to exclue second portion member list*/ @RELATIVE("TotalDepartment",0)  @REMOVE(@Relative("Service", 0),@RELATIVE("UCS-S",0)) /*Clear data, normally with FIX range*/ FIX(&CurPlanScenario,&CurPlanVersion) CLEARDATA "Opex_Inputs"; ENDFIX /*@MDSHIFT  and @PRIOR*/ IF(@ISMBR("Jan"))    "AC_1921" = @MDSHIFT("Other_Inputs"->"DEP_GEN"->"Input_USD"->"AC_1921",11,"Periods",,-1,"Years",);  ELSE      "AC_1921" = @PRIOR("Other_Inputs"->"DEP_GEN"->"Input_USD"->"AC_1921"); ENDIF /*@PRIOR  to handle Feb:Dec vs. Jan*/ Fix(@Relative("Service",0)) "Attrition" ( IF(@ISMBR(Jan)) "Attrition" =  @PRIOR("UOL"->Dec, 1, @RELATIVE(Years,0)) * "Attrition %" -> "BegBalance&q

Migration of HFM application from 11.1.2.2 to 11.1.2.4

Migrating HFM application from 11.1.2.2 to 11.1.2.4 involves several steps - - Copy application from HFM copy utility    a. Ensure UDL files of the source and the target app are created correctly. (preferable to run copy utility from the target HFM server.)    b. When copy, select converting from EPMA to Classic, this ensures copy successfully. You would have to convert it back to EPMA later. -  Run install configuration from HFM server, and check upgrade from previous release. - Manual update Hyperion table from the back end. (Oracle is yet to provide patch on this). Without this step, you won't be able to see the app from Consolidation Administration / Application.   HSX_DATASOURCES table needs to be manually updated in order to add the application in   Consolidation Administration.Without this, the HFM app will not show up as an application   a. To add a new record, open the HSX_DATASOURCES table and insert a new line.   b. For the new record, enter the foll

WRKFORCE: Simple Change Makes Huge Differences in TRANSFER

In WRKFORCE, you can transfer menu to transfer Employee from Department to Department. The original Business Rule takes about about seven minutes to complete with is painful to users. Further more, after 80+ employees are transferred, one of the calculation script (CurPlnPr), used to take 1~2 minutes to complete, now shot up to an hour and twenty minutes. Let's take a look at the original Rule in Transfer - /* Description: Employee Transfer between Division & Department*/ /*STARTCOMPONENT:SCRIPT*/ SET LOCKBLOCK HIGH; SET AGGMISSG ON; SET CACHE HIGH; SET UPDATECALC OFF; /*ENDCOMPONENT*/ /*STARTCOMPONENT:SCRIPT*/ SET CREATENONMISSINGBLK ON; VAR yearTransfer = 0; VAR savedAction = 0; /*ENDCOMPONENT*/ FIX (/*DIM:Year*/{Years},/*DIM:Employee*/{Employees},/*DIM:Scenario*/{Scenario},/*DIM:Version*/{Version},/*DIM:Currency*/{Currency})   /*STARTCOMPONENT:SCRIPT*/   DATACOPY {FromDivision}->{FromDepartment} TO {ToDivision}->{ToDepartment}; "PrevCYTDTotalSalary" ( {T

ESSBASE: When to Use FIX vs. IF

Hyperion developers love FIX and IF, both are powerful tools and interchangeable in usage in certain circumncetances. There are also differences between the two. Let's take a look. FIX...ENFIX Usages and Rules Every FIX must be ended with ENDFIX. But it is optional to end the statement by ";" FIX Mbr can be any comma-delimited list of members, or member set functions FIX Mbr argument can be a combination of members from multiple dimensions           FIX(@CHILDREN(Qtr1),"Actual")                 Calc Dim(Accounts);           ENDFIX FIX Mbr list from the same dimension means "OR", cross dimensions means "AND" FIX cannot be used inside of formulas in outline, they can ONLY be used in calc scripts Cannot consolidate a dimension that is FIXed on. Following will generate an error when run          FIX(@CHILDREN(Qtr1),"Actual")                 Calc Dim(Accounts, Scenario);         ENDFIX It c