Showing posts with label Excel. Show all posts
Showing posts with label Excel. Show all posts

Tuesday, May 3, 2016

The Compleat Idiot's Guide to PBCS, No. 12, PBCS and calculations

I have spared you Gallia est omnis divisa in partes tres.  Are you grateful?

After my last bout of dead language infatuation, the answer is almost undoubtedly yes.  

Although I am sticking to the Queen’s English this time, like Caesar and what became France, I am at the third and last post on the current month Actuals in Forecast use case via the various UIs.

In part one of this series I covered what it takes to get new metadata into PBCS, in the last post I reviewed loading data (and had a mildly epic rant about Planning’s native data format), and I shall now illustrate what it takes to write and run a Calculation Manager Business Rule.

With that let’s begin.

Calculation Manager is everywhere

Calculation Manager is Calculation Manager is Calculation Manager

Using version 16.2.2.0.0 of Oracle Planning and Budgeting Cloud service, Calculation Manager doesn’t have a Simplified Interface, uh, interface.  Oh you can get to Calc Mgr through the SI, but once done, it’s the same Workspace we all know and love.

Navigating to the Navigator’s Rules…

…launches (briefly) a new window…

…and then finally into good old Workspace:

Alternatively, for those of us Bittereinders who are holding on to Workspace with every ounce of energy we can muster, it looks just like on-premises and takes us to the same Calc Mgr explorer.

What does the code actually do?

Let’s take a quick break to review the very simple code.

Again coming back to the steps that a monthly Actual load automated process has to go through, it must:
  1. Load new metadata
  2. Refresh the database
  3. Clear out the most current month’s data
  4. Load that data
  5. Aggregate the data

Clearing the deck

The data clear is simple.  I’m showing it in PBCS but the code is the same in on-premises.

The logic is simple – FIX on all level 0 members for the current month using the Essbase Substitution Variable &CurMth to clear out the Forecast Scenario.  Easy-peasy.

Sum of the parts

After the data has been loaded there’s an even easier aggregation of the Entity dimension.  Believe it or not, in the PBCS Vision application all other dimensions are either fully dynamic sparse or dense so there’s just Entity that needs to be aggregated.


Executing Business Rules

Traditional from Workspace

Whether on-premises or PBCS, Workspace navigation is the same:

And then run from the list:

It runs:

It’s done:

Simplified Interface

In the SI, things are a bit different but conceptually it’s the same.

Navigate to Rules:

Find the one you want, in this case ClearCurrentMonth, and run it.

No confirmation message pops up when complete.  Instead go back to the good old Console’s Jobs tab to see the results:

Smart View

Finally, it’s possible to run business rules from Smart View – both on-premises and PBCS work the same way:

Just as with Workspace and SI, there’s notification of both execution:

And completion:

How many ways to skin this cat?  Four.

Other than the title bar that says, “Planning and Budgeting Cloud Service Workspace” can you see a subtle addition to the Calc Mgr code snippet above?  Look on the top toolbar in the editor.  See it?  No?  It’s oh so little and yet oh so useful.  

Let’s make it a bit more explicit.


That launch button is not in on-premises like so many other functions.  Sigh.

Putting aside my eternal lament about feature parity, this is Yet Another Pretty Cool PBCS Function (YAPCPF, pronounced yapkapfif).  No more need to deploy the rule to Planning to test it although for Workspace, the SI, and Smart View that will have to be done..  Fwiw, if you didn’t find it, be glad because I had to really exercise my inner OCD to see the difference as I compared icon-by-icon-by-icon across the two platforms.

Clicking on that button delivers a Validation before run (remember, if it’s deployed it’s validated):

And then a processing message:

And then finally a completion message:

Btw, there’s a Log Messages panel in Calc Mgr to give you log file information.  Note that there is no other way to get to the log file. Bummer on that one.

So what’s it all supposed to do?

Let’s take it in calculation steps.

Assuming this:

The ClearCurrentMonth business rule gets executed.  As July is the current month and there is no data, nothing changes.

Data gets loaded in as per The Compleat Idiot's Guide to PBCS, No. 11, PBCS and data which now looks like:

To aggregate it, run the AggregateCurrentMonth rule.  I chose to run it from Smart View but it could happen in Workspace, the SI, or Calc Mgr itself:

Ta da, aggregated data:

Btw, I am almost resigned used to working with Planning ad hoc forms in lieu of Essbase ad hoc connections.  Almost.

Summing it all up

If I were to look at the four approaches and count clicks as a way of measuring complexity, I see the following:
  • Workspace – four including clicking on OK when the process is finished
  • Simplified Interface – four including navigating to the Jobs console
  • Smart View – six including closing the Business Rules dialog box
  • Calc Mgr itself – two assuming being already in the editor

So not much of a difference in terms of effort between traditional Workspace and the Simplified Interface.

PBCS really moves beyond on-premises with that ostensibly simple ability to run the business rule from within the editor.  No more writing the code, deploying it, watching it fail/having useless junk in your Planning application.  Instead, just write, run, edit, run, edit, run, approve, deploy, drink a celebratory beverage of your choice.

Let’s take stock of where we are with this series:

With those three posts we’ve covered how to interactively load current Actual into Forecast.  That’s all well and good but in the real world no one (hopefully) would ever do this.  Instead it needs to be scripted so it can be run on demand or through a scheduler.

And that scripting process for both on-premises and PBCS will be the subject of the next post.  Expect to see quite a few differences between the two platforms.  You’ll have to decide which one is the best for you although I think that will be pretty obvious.

Be seeing you.

Tuesday, March 22, 2016

The Compleat Idiot's Guide to PBCS, No. 8 -- Supported Smart Forms Excel Functions

What’s in, what’s out, and what’s not official (that would be all of it)

I’ve done this before, and I’m doing this again:  this blog is (like many if not all of my posts) information that is not in any way supported by Oracle.  Do not go to Oracle whining about, “Cameron said this worked, but it doesn’t, so I hate you Oracle, blah, blah, blah, blah, blah,” as I am telling you that what you read below is unsupported, unofficial, incomplete, tied to the PBCS release of today, 22 March 2016, unknown to anyone at @oracle.com, etc. In other words, enjoy and maybe use the below and don’t have a conniption if it all goes sideways on you.

You Have Been Warned.

The warning is over, here’s the cool stuff

Could whining actually be an effective approach?  Maybe.

In my last PBCS post on Smart Forms in Smart View, I whined the following:
“Where exactly does this ability to convert Excel formulae into a Smart Form begin and end?  There a lots and lots and lots of formula functions in Excel – that’s one of its many strengths.  Unfortunately, not all formula functions are supported and if there’s a list anywhere of what works and what doesn’t I was unable to find it.”

And then went on to whine:
“Bugger.  So that’s at least one formula that isn’t supported via Smart Form.  It sure would be nice to have that list of supported/unsupported.”

Yes, I am a whiner, to the detriment and annoyance of all who know me.  And yes, whining seems to be a theme in this post.  Perhaps I have done it recently and feel guilty about it?  The Psychology of Cameron is a frightening thing.

Now to the cool stuff

How about that currently supported/but use at your own risk list of functions?  Ask and ye shall receive.
Very, very, very nice and an awful lot of them to boot.

 Function
Category
ACCRINT
Financial
ACCRINTM
Financial
AMORDEGRC
Financial
AMORLINC
Financial
COUPDAYBS
Financial
COUPDAYS
Financial
COUPDAYSNC
Financial
COUPNCD
Financial
COUPNUM
Financial
COUPPCD
Financial
CUMIPMT
Financial
CUMPRINC
Financial
DB
Financial
DDB
Financial
DISC
Financial
DOLLARDE
Financial
DOLLARFR
Financial
DURATION
Financial
EFFECT
Financial
FV
Financial
FVSCHEDULE
Financial
INTRATE
Financial
IPMT
Financial
IRR
Financial
ISPMT
Financial
MDURATION
Financial
MIRR
Financial
NOMINAL
Financial
NPER
Financial
NPV
Financial
PMT
Financial
PPMT
Financial
PRICE
Financial
PRICEDISC
Financial
PRICEMAT
Financial
PV
Financial
RATE
Financial
RECEIVED
Financial
SLN
Financial
SYD
Financial
TBILLEQ
Financial
TBILLPRICE
Financial
TBILLYIELD
Financial
XIRR
Financial
XNPV
Financial
YIELD
Financial
YIELDDISC
Financial
YIELDMAT
Financial
ISERR
Information
ISERROR
Information
AND
Logical
IF
Logical
NOT
Logical
OR
Logical
ABS
Math and trigonometry
MOD
Math and trigonometry
PI
Math and trigonometry
PRODUCT
Math and trigonometry
ROUND
Math and trigonometry
SUM
Math and trigonometry
TRUNC
Math and trigonometry
AVERAGE
Statistical
AVERAGEA
Statistical
COUNT
Statistical
COUNTA
Statistical
MAX
Statistical
MIN
Statistical
DATE
Date and time
DAY
Date and time
DAYS360
Date and time
EDATE
Date and time
EOMONTH
Date and time
HOUR
Date and time
MINUTE
Date and time
MONTH
Date and time
NETWORKDAYS
Date and time
NOW
Date and time
SECOND
Date and time
TIME
Date and time
TODAY
Date and time
WEEKDAY
Date and time
WEEKNUM
Date and time
WORKDAY
Date and time
YEAR
Date and time
YEARFRAC
Date and time
FALSE
Logical
TRUE
Logical
ACOS
Math and trigonometry
ACOSH
Math and trigonometry
ASIN
Math and trigonometry
ASINH
Math and trigonometry
ATAN
Math and trigonometry
ATAN2
Math and trigonometry
ATANH
Math and trigonometry
CEILING
Math and trigonometry
COMBIN
Math and trigonometry
COS
Math and trigonometry
COSH
Math and trigonometry
DEGREES
Math and trigonometry
EVEN
Math and trigonometry
EXP
Math and trigonometry
FACT
Math and trigonometry
FACTDOUBLE
Math and trigonometry
FLOOR
Math and trigonometry
GCD
Math and trigonometry
INT
Math and trigonometry
LCM
Math and trigonometry
LN
Math and trigonometry
LOG
Math and trigonometry
LOG10
Math and trigonometry
MROUND
Math and trigonometry
MULTINOMIAL
Math and trigonometry
ODD
Math and trigonometry
POWER
Math and trigonometry
QUOTIENT
Math and trigonometry
RADIANS
Math and trigonometry
RAND
Math and trigonometry
RANDBETWEEN
Math and trigonometry
ROUNDDOWN
Math and trigonometry
ROUNDUP
Math and trigonometry
SIGN
Math and trigonometry
SIN
Math and trigonometry
SINH
Math and trigonometry
SQRT
Math and trigonometry
SQRTPI
Math and trigonometry
SUMSQ
Math and trigonometry
TAN
Math and trigonometry
TANH
Math and trigonometry

Awesome is the only word that describes this function list.  Note that it’s 128 functions long.  Think of the Excel formulae you could write, think of the rich functionality in Excel, think of how many of these functions are not supported in BSO and then think about how many are not supported in MDX.  

Conclusion and a whine

And that Gentle Reader, is why Smart Forms are 100 (128?) times better than traditional form formulae.  Think about what you could write as one offs in a form.  No more creating a member in the Account dimension that only gets used once and is deadwood otherwise.   Instead, create the base members you need to perform the calculations and use the quite considerable power of Excel to do the heavy lifting.  Remember that Smart Forms are easily made into ad hoc forms thus keeping the calculated member in play.  Also remember that these functions are available in the Simplified Interface.  Happy times indeed.

One last whine:  when oh when oh when will we see this in on-premises?  I love, love, love the idea of Oracle writing this stuff as it is top drawer functionality but thus far it is for PBCS only.  Please Oracle, for the balance of customers who are not on The Cloud, bring this to on-premises so all of your customers can benefit from this functionality.  

Be seeing you.

Popular Posts