Instant

Everyone likes fast except when it comes to slow cooking or taking a nap or when pursuing a hobby or simply enjoying oneself. Of course, instant is even better than fast. No, not instant coffee (I can only drink it while camping – I think I somehow enjoy straining out bits of dirt from the tin mug), nor instant pot noodles (a staple of my university life, never to be repeated), but instead instant aggregations. I’m a busy geek; you are too. And I want it all. Now. Instantly.

Generally, in OneStream that’s not an issue as most dimensions are dynamically aggregated with the exception – till now – of Entity. By that I mean: input data at an Account, Time, Custom Dimension (and the other required dimensions – see my previous post for an overview of them in all of their glory) intersection and a single Entity and the numbers at an aggregate level are instantly available across all of those dimensions. That’s lovely in the non-ironic sense. However, that Entity dimension, the spine of every OneStream app, is a stored dimension, i.e. the upper level members must have materialized aggregate views. To get those aggregated –

It’s Basic. It’s a Sample. It’s A Very Basic Sample.

Some people understand how to perform complex tasks or understand involved theory simply by reading some kind of supercalifragilisticexpialidocious documentation; I am not one of those people. Yes, I read the docs, yes, I think – insofar as I am able – quite a bit about what I’ve read, yes, I am capable of abstract thought (I hope, in an abstract way.), but at the end of the day, I learn best by doing. I’ve got to kick the tires, squeeze the apple (these are my favorite ones by a country mile), or employ whatever experiential learning metaphor you like best to truly understand.

Please try to put aside the irony of the above as the introduction to a blog post that attempts to explain how OneStream works as you, Gentle Reader, and Yr. Most Hmbl. & Obt. Svt. are about to go on a journey that illustrates our beloved CPM platform in as a practical manner as I can manage. In OneStream-land, I need to build a sample application.

But you say, (Do you? Do you? Really? Thought you did. Sad, but I’m glad you’re still here.),

Moving an application tither and yon

Moving applications across environments is part and parcel of practically any CPM vendor’s tools. It’s here in production and I want it to be there migrated back into development. Or the other way around. Or across servers. Or to a laptop (for we consultants). Whether your team does the moving, or your IT department does it, or your managed service provider does it, or if indeed your software vendor’s cloud team does it, the key bit is that someone does it. Also, it could be you who does the moving.

If you think this is hard, or requires many hours, or is fraught with the potential for error (erm, except for the self-harm Yr. Obt. Svt. inflicts upon himself as I stumbled through this), you’re wrong. It’s dead easy with OneStream.

Let’s do this in steps.

Step the first, extract the application for migration

Just a note – the process I’m going to illustrate below will be for metadata (dimensions, CubeViews, security, dashboards, etc.) only. There’s a separate step that extracts data and I’ll cover that in some later post.

Just another note – this is from an honest to goodness customer application and

Introduction

This post is proof that my quite meager salesmanship skills are sometimes successful in convincing others to do my work. This time round, that means that my colleague Mike Gialanella agreed to write a guest post on XF’s relational blending. Thanks, Mike, for giving me the week off. And oh yeah, Gentle Reader, you too should thank Mike for writing about a really exciting and unique tool bit of functionality.

XF Relational Blending 101

When Cameron Lackpour asks you to write a guest blog post, the answer is yes. It is one of those things that you just can’t say no to. If Santa Claus asked you to deliver Christmas presents to kids-in-need, you would need an incredibly good reason to decline such a request.

XF networking event Nov 2017. Me on the right, Santa on the left.

So, for all you technical and finance experts that are attracted to Cameron’s wit and wisdom this blog, here’s my best-most-humble effort to deliver, by request of the man Cameron himself…. here you go:

OneStream XF is a unified SmartCPMTM platform solution, it is not a siloed set of solutions that are fused together.

Part four of three

In my innumerate fashion, we have now reached the fourth part of a three part series on building dimensions. Why can’t Cameron count? Putting aside the more obvious, “’Cos he’s an idiot” answer, the reason is I had planned part three to include code to generate dimension deletes via the Metadata Builder. That was the idea but it would have been an absolute monster of a post. The point of this blog is to inform you (and me), not bore you (and me) to death.

So that’s the excuse, but what’s to be covered in this post? Answer – create dimension load files programmatically through the Metadata Builder so that you never have to it again. Will it be as easy as selecting Flying Pizza (that’s a punch card in Jane’s left hand for those of you born after 1980 and also just what is Flying Pizza)? Just about, with a wee bit of customization.

Something that XF’s competitors ought to read

Yes, way back in the introduction to TheTruthAboutCPM when I said that this blog wouldn’t be about other products I meant it. Alas and alack, I fear I do need to address an important

The final third

The last two posts on dimension building have focused on building dimensions either by hand or via the Metadata Builder. But what about deleting members?

You may not make mistakes but Yr. Obt. Svt. is, unfortunately, all too well familiar with, “Aw, bugger, I didn’t mean to add those 10,000 products/200 entities/14 departments/etc. I really didn’t mean to. Bugger. And now I need to get rid of some or all of them. Triple bugger.” Mayhaps you too have done so? Let’s hope so as how to do that is the point of this, the third and final (Hah! No, part four of three is now planned. Also, I can’t count.) part of this series on managing hierarchies.

Driving a manual

Stick shifts (or if you’re perverse and have an old car, a three on a tree, or if you’re really crazy, a Wilson preselector, or if you’re ultra cool, an epicyclic transmission which I finally learnt how to use) are a key component of driving enjoyment because of the control they provide. Wind out the engine way past a “reasonable” rpm just to hear the exhaust bark, hold it in gear round a corner …

Don’t do it, the manual bit

In our last exciting installment, Yr. Obt. Svt. took you on a trip through the most basic of dimension building processes, to wit, building a dimension by hand.

That’s all well and good but it doesn’t really reflect true application development and administration as doing just about anything by hand (sawing wood, cutting the lawn, filling out that 1040A, casting a budget, etc.) is painful for anything other than one-offs, a small scope, or something that hardly ever changes. Repetitive actions should be automated else we revert to paper ledgers and spreadsheets, fountain pens (actually, I use one), and green eyeshades. Instead, I daresay and hope you’ll do most of your loading from batch.

But how oh how oh how does your average geek load a dimension?

One way might be to take an existing dimension, extract it to a file (in OneStream XF aka XF that’s an XML file whose format I’ll cover in the next post – see how I’m stringing you along?) and then use that file to load said dimension in again to this application or to another. Hint: this sentence just described how to migrate dimensionality

With extensive apologies to Rabbie Burns aka the Bard of Ayrshire aka the Ploughman Poet (I hope that every lit prof I had in school is now beyond happy that I can remember a line from Andrea del Sarto – see, I did pay attention, sometimes) I had high hopes that I could cover the entire OneStream dimension build process from thinking about it to building and editing it manually to loading and editing it from external sources. Whew. And that’s not even counting applying said dimension to a cube. Double whew.

It’s simply too much to cover in a single blog post so I’ll disappoint you bitterly relieve you and me considerably by reducing scope as splitting this into multiple posts is the only way to reasonably approach the subject.

Along the way I’ll try to explain as much of the architecture and philosophy behind OSXF’s (I’m too lazy to write out OneStream XF more than once per post) metadata management but there will be much that I shan’t and can’t cover yet. There’s a lot going on and a lot of functionality that isn’t …

Yr. Evr. Lyl. & Fthfl. Svt. and infrastructure have a relationship: I must be able to install the software I work with else I take up ditch digging and yet at the same time I’m pretty dire at it and I hate it. Do I hate it because I’m bad at it or am I bad at it because I hate it? Does the reason even matter? It’s complicated.

And yet, and yet…a new release of OneStream came out on the 18th of October and by the 19th of the same month and year I simply had to have it, cf. my aversion to manual trench excavation. Buoyed by what might be wildly misplaced optimism on my part, I decided to try the 4.1 to 4.2 install. How hard could it be? After all, the upgrade instructions

History

Can it be Cameron? Can it?

Without beating about the bush, I practised in the Oracle Essbase/Planning/ODI world for more years than I really care to remember. 1994 doesn’t seem all that long ago but I’ve had conversations with many who look at me aghast when they figure out how long that’s been till date: for those of you who struggle with math, that’s 24 years and counting as of this writing. In technology terms, that’s several lifetimes. It was, and has been, time for me to move on and I have, to OneStream Software.

As I noted before, you may be hearing pins drop. But it’s true, I promise you that.

The ground rules

As I’ve done in the past, I’m going to write about technology, problems, and how the former fixes the latter. I’ve been told that I have a…unique style. Or something. I certainly have a voice (ooh, if only my Faulkner professors would read this), and definitely have a point of view. With that, here’s what this blog will and won’t be.

The will

Information

Knowledge sharing is the only point to this blog for you or for me. I’m new to OneStream XF …