Posts

Showing posts with the label MDX

IsAncestor explanation

Recently I answered a post on the user forum regarding a way to test if a member is a Descendent of another member using MDX member formula's in an ASO database. It took me a little while to figure it out. I think it's a little hard for Essbase people to understand because of the way we used to do it in BSO using the function @ISDESC. Below was my response and I thought it was worth posting on the blog. --In calc script language you are saying @ISDESC("C009") meaning you want hierarchical members below "C2009". Now in Calc script we also have @ISANCEST and if we said @ISANCEST("C009") we would be looking for all members that are hierarchically above "C2009". MDX does not have ISDESC, MDX only has IsAncestor. The parameters are member1 and member2. Now depending on which way you ask the question, you get a different answer. IsAncestor([C009], [Dimension].CurrentMember) is really saying "Is "C009" an ancestor of the cu...

MDX Resources

Today I received an email from someone asking what resource material I recommend for MDX with Essbase. After I wrote up and sent the response, I thought it would be something good to post, so below is the body of the email I sent: I would recommend the following reference material for working with MDX for Essbase If you have block storage experience then the following PDF is very helpful. You can find a copy at http://www.oracle.com/technetwork/middleware/bi-foundation/4395-calc-to-mdx-wp-133362.pdf This content can also be found in the technical reference under the MDX node; there is a section called Aggregate Storage Topics. http://docs.oracle.com/cd/E57185_01/ESBTR/calc2mdx.html Beyond the material provided by Hyperion, there are two books I recommend: Fast Track to MDX – Whitehorn, Zare, and Pasumansky. Fast Track is not Essbase specific, it is MS Analysis Services focused, but it provides a good introduction to the basics of MDX that I found very useful...

Time Functionality

Image
Something I've worked on a number of times and even spoke about at the ODTUG Kaleidoscope conference is MDX and specifically how to use it to do time related calcs like period-to-date functions and Time Balancing. I've seen quite a few posts on the subject and figured it was worth putting up some examples here. More recent releases of Essbase will do time balancing natively, but period-to-date is something you still have to work out. My preferred method of doing this is to add an analytic dimension to the database and set the formula in one of the calculated members. For those of you who aren't familiar with the term, an analytic dimension is one that you add to your database that has a single default load member, all other members are calculated. In the case of time functionality I usually call this dimension [View] and have a default member called [Periodic]. I will then have some other members as needed, like [Time Balance], [QTD], [YTD], etc. For Example: The perio...