tag:blogger.com,1999:blog-65456955260519745402023-11-16T01:35:47.940-06:00Everyday EssbaseTimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.comBlogger77125tag:blogger.com,1999:blog-6545695526051974540.post-73332813653283602692021-04-02T09:35:00.003-05:002021-04-02T09:35:43.835-05:00Essbase Shadow Cubes Introduction<p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiveaq3LTTnYx28NnbP2MsDlFJ6bQuU0OQeSLCD6TCtzqbIt1jTOGG2aF4jiIaLgsXnDW-l1SSJauRBtkvbZyaj1Pq7yrs7IAXwWEBwKfvIePlEsGnJ7sdXi2DW-D9mm9G-mePlgXid0LMn/s162/arbor.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="162" data-original-width="124" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiveaq3LTTnYx28NnbP2MsDlFJ6bQuU0OQeSLCD6TCtzqbIt1jTOGG2aF4jiIaLgsXnDW-l1SSJauRBtkvbZyaj1Pq7yrs7IAXwWEBwKfvIePlEsGnJ7sdXi2DW-D9mm9G-mePlgXid0LMn/s0/arbor.gif" /></a></div><br /><span style="font-size: medium;"><br /></span><p></p><p><span style="font-size: large;">The idea for Essbase shadow cubes has probably been around as long as Essbase has existed in a production environment. Essbase is an OLAP tool -- two of the letters stand for "On Line" meaning it's probably pretty important. When you apply changes to an Essbase outline, that cube is no longer on line. Kind of a downer for an OLAP tool. So people invented clever ways of making copies of a cube, updating the cube and then redirecting users to the updated cube. All the while trying to minimize what could be an hours long process. Shadow Cubes minimize the effort involved. </span></p><p><span style="font-size: medium; font-weight: bold;"><br /></span></p><p><span style="font-size: large; font-weight: bold;">Here's an overview of the shadow cube process.</span></p><p><b><span style="font-size: medium;">1. Create a shadow cube.</span></b></p><p><span style="font-size: medium;">This is currently only done using the REST API. If we could do this with, say, MaxL then this would probably be a single post. Instead I'm going to delve into the REST API as a part of this, hopefully not too long, series.</span></p><p><b><span style="font-size: medium;">2. Make whatever changes you want to the shadow cube.</span></b></p><p><span style="font-size: medium;">Since you're not touching the cube users are connected to you can do whatever you want here. You can go into the Jet UI (or EAS Lite) and make changes. You can load data, run calculations, update outlines. There are a few exceptions but you can pretty much do whatever you want here and use whatever tool you want, not just the REST API.</span></p><p><b><span style="font-size: medium;">3. Promote the shadow cube.</span></b></p><p><span style="font-size: medium;">Also currently only done using the REST API. If your changes don't go so well then another option here is to discard the shadow cube. </span><span style="font-size: large;">So in one regard Oracle made this really easy to do. In another regard they made it nearly impossible for someone who knows nothing about the REST API. So consider this an </span><i style="font-size: large;">opportunity</i><span style="font-size: large;"> to learn a new skill. It's not that hard, trust me.</span></p><p><span style="font-size: medium;"><br /></span></p><p><b><span style="font-size: large;">Some important notes:</span></b></p><p></p><ul style="text-align: left;"><li><span style="font-size: medium;">Users <i>can</i> query data while the shadow cube is there. They <i>cannot</i> load data or run calculations.</span></li></ul><div><span style="font-size: medium;"><br /></span></div><ul style="text-align: left;"><li><span style="font-size: medium;">There is a brief outage during the time the shadow cube is promoted. How long is that? I would wager it depends on your infrastructure and the size of the cube. More experimentation is needed. In my tests using shadow cubes in Smart View, the user doesn't lose their connection during the promotion process. So it's possible many users will be unaware that the promotion has taken place. You might need to tell them in some ingenious way. Hopefully you put a timestamp somewhere in your cube. If you don't, you probably should.</span></li></ul><div><span style="font-size: medium;"><br /></span></div><ul style="text-align: left;"><li><span style="font-size: medium;">This is only available in Essbase 21c. It doesn't appear to be in the 19c documentation but you're probably not on that version anyway. It's definitely not available in 11.1.2.4. (You should start planning to upgrade to Essbase 21c if you haven't already.)</span></li></ul><div><span style="font-size: medium;"><br /></span></div><ul style="text-align: left;"><li><span style="font-size: medium;">Don't make infrastructure changes to the shadow cube. Don't do things like change names of applications or databases. Don't make partition changes. Don't make security changes. Here's what the official documentation says: <u>During a promotion, all security layer associations on the destination application, such as users, groups, and security filters, are retained, while that of shadow/source are lost. The same rule applies for partition definitions.</u></span></li></ul><p></p><p><i><span style="font-size: medium;"><br /></span></i></p><p><i><span style="font-size: medium;">My next post will be an introduction to the REST API for Essbase.</span></i></p>TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-80484401995177018762020-12-15T16:05:00.005-06:002020-12-16T08:31:18.272-06:00New Essbase On-Prem Version Is Now Available!<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMOKXUehHn09H79QTFWaogiXTGdQKlV8C4NCPFuXk9rtwXO9-V2U-oqtAH2k9QwKpquPmLzMHGLnNd1Iot21qcrpJ4XR1NO4XkbPRT9BP15A4Zg6iN0_EuLIHLDBtsU8CRMOBD6a8DENvH/s554/21c.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="364" data-original-width="554" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMOKXUehHn09H79QTFWaogiXTGdQKlV8C4NCPFuXk9rtwXO9-V2U-oqtAH2k9QwKpquPmLzMHGLnNd1Iot21qcrpJ4XR1NO4XkbPRT9BP15A4Zg6iN0_EuLIHLDBtsU8CRMOBD6a8DENvH/s320/21c.jpg" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><p><br /></p><p><span style="font-size: large;">For the first time in almost six years, there's a new on-prem release of Essbase available. I'm calling it on-prem but Essbase 21c is the same version whether you run it in Oracle's cloud, somebody else's cloud or your own Linux box. (<a href="https://docs.oracle.com/en/middleware/fusion-middleware/12.2.1.4/sysrs/system-requirements-and-specifications.html#GUID-37C51062-3732-4A4B-8E0E-003D9DFC8C26" target="_blank">Click here to see which distribution versions are supported</a>) This is an exciting day! I've already had a chance to kick the tires and I'm really excited about the performance improvements I've been seeing.</span></p><p><span style="font-size: large;">As always, Applied OLAP is ready for Dodeca to attach to the latest versions of Essbase. We're happy to set up a demo of Dodeca and Essbase 21c for those who are curious -- just shoot us a <a href="mailto:dodeca@appliedolap.com" target="_blank">message</a>.</span></p><p><span style="font-size: large;">Release notes are available <a href="https://docs.oracle.com/en/database/other-databases/essbase/21/essop/21.1.0.0.0-december-2020.html" target="_blank">here</a> and the installation file is available on Oracle's eDelivery website.</span></p><p><span style="font-size: large;">Enjoy!</span></p><p><br /></p>TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-26172311298506647092020-10-26T10:47:00.001-05:002020-10-26T10:47:05.715-05:00Essbase MDX Exports<h2 style="text-align: left;"><span style="font-size: small;">I delivered a presentation last week at the most excellent Hyperion Solutions 2020 on the topic of Essbase MDX. In it I walked the audience through the evolution of Essbase MDX exports. This is a summary of that section. Be sure to read until the very end as there is an update since the presentation.</span></h2><h2 style="text-align: left;"><br /></h2><h2 style="text-align: left;">Generation 1: The Ugly</h2><p>In the first generation, if you wanted to export data during batch using MaxL the output was nearly unusable. I had to write a parser in Perl to get the output I needed.</p><p>Here's the code:</p>
<!--HTML generated using hilite.me--><div style="background: rgb(255, 255, 255); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;"><table><tbody><tr><td><pre style="line-height: 125%; margin: 0px;"> 1
2
3
4
5
6
7
8
9
10
11</pre></td><td><pre style="line-height: 125%; margin: 0px;">spool on to 'gen1.txt';
select {[Mar],[Apr]} on columns,
{[300],[400]} dimension properties
level_number, member_unique_name on rows,
crossjoin({[Actual],[Budget]},
{[Opening Inventory],[Ending Inventory]})
dimension properties level_number, member_unique_name on pages
from [Sample].[Basic];
spool off;
</pre></td></tr></tbody></table></div>
<p>Below is my actual output file. I mean, seriously, what am I supposed to do with this?</p><p><span style="color: #2b00fe;">MAXL> select {[Mar],[Apr]} on columns,</span></p><p><span style="color: #2b00fe;"> 2></span></p><p><span style="color: #2b00fe;"> 3> {[300],[400]} dimension properties</span></p><p><span style="color: #2b00fe;"> 4></span></p><p><span style="color: #2b00fe;"> 5> level_number, member_unique_name on rows,</span></p><p><span style="color: #2b00fe;"> 6></span></p><p><span style="color: #2b00fe;"> 7> crossjoin({[Actual],[Budget]},</span></p><p><span style="color: #2b00fe;"> 8></span></p><p><span style="color: #2b00fe;"> 9> {[Opening Inventory],[Ending Inventory]})</span></p><p><span style="color: #2b00fe;"> 10></span></p><p><span style="color: #2b00fe;"> 11> dimension properties level_number, member_unique_name on pages</span></p><p><span style="color: #2b00fe;"> 12></span></p><p><span style="color: #2b00fe;"> 13> from [Sample].[Basic];</span></p><p><span style="color: #2b00fe;"><br /></span></p><p><span style="color: #2b00fe;"> Axis-2 Axis-2.properties Axis-1 Axis-1.properties (Mar) (Apr)</span></p><p><span style="color: #2b00fe;">+-------------------+-------------------+-------------------+-------------------+-------------------+-------------------</span></p><p><span style="color: #2b00fe;"> (Actual, Opening In (LEVEL_NUMBER = 0, (Cream Soda) (LEVEL_NUMBER = 1, 29095 30334</span></p><p><span style="color: #2b00fe;"> (Actual, Opening In (LEVEL_NUMBER = 0, (Fruit Soda) (LEVEL_NUMBER = 1, 26409 27588</span></p><p><span style="color: #2b00fe;"> (Actual, Ending Inv (LEVEL_NUMBER = 0, (Cream Soda) (LEVEL_NUMBER = 1, 30334 32266</span></p><p><span style="color: #2b00fe;"> (Actual, Ending Inv (LEVEL_NUMBER = 0, (Fruit Soda) (LEVEL_NUMBER = 1, 27588 29550</span></p><p><span style="color: #2b00fe;"> (Budget, Opening In (LEVEL_NUMBER = 0, (Cream Soda) (LEVEL_NUMBER = 1, 27380 28460</span></p><p><span style="color: #2b00fe;"> (Budget, Opening In (LEVEL_NUMBER = 0, (Fruit Soda) (LEVEL_NUMBER = 1, 27230 29030</span></p><p><span style="color: #2b00fe;"> (Budget, Ending Inv (LEVEL_NUMBER = 0, (Cream Soda) (LEVEL_NUMBER = 1, 28460 30190</span></p><p><span style="color: #2b00fe;"> (Budget, Ending Inv (LEVEL_NUMBER = 0, (Fruit Soda) (LEVEL_NUMBER = 1, 29030 31520</span></p><p><span style="color: #2b00fe;"><br /></span></p><p><span style="color: #2b00fe;"> OK/INFO - 1241150 - MDX Query execution completed.</span></p><p><span style="color: #2b00fe;"><br /></span></p><p><span style="color: #2b00fe;">MAXL></span></p><h2 style="text-align: left;">Generation 2: The Bad</h2><p>With Essbase 11.1.2.4.010 I could specify an output delimiter which made things far better. The column_seperator command was supposed to solve all of my problems.</p><p>Here's the code:</p>
<!--HTML generated using hilite.me--><div style="background: rgb(255, 255, 255); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;"><table><tbody><tr><td><pre style="line-height: 125%; margin: 0px;"> 1
2
3
4
5
6
7
8
9
10
11
12</pre></td><td><pre style="line-height: 125%; margin: 0px;">set column_separator "|";
spool on to 'gen2.txt';
select {[Mar],[Apr]} on columns,
{[300],[400]} dimension properties
level_number, member_unique_name on rows,
crossjoin({[Actual],[Budget]},
{[Opening Inventory],[Ending Inventory]})
dimension properties level_number, member_unique_name on pages
from [Sample].[Basic];
spool off;
</pre></td></tr></tbody></table></div>
<p>The output was better but not perfect. I still have to deal with the commands being written to the file.</p><p><span style="color: #2b00fe;">MAXL> select {[Mar],[Apr]} on columns,</span></p><p><span style="color: #2b00fe;"> 2> {[300],[400]} dimension properties</span></p><p><span style="color: #2b00fe;"> 3> level_number, member_unique_name on rows,</span></p><p><span style="color: #2b00fe;"> 4> crossjoin({[Actual],[Budget]},</span></p><p><span style="color: #2b00fe;"> 5> {[Opening Inventory],[Ending Inventory]})</span></p><p><span style="color: #2b00fe;"> 6> dimension properties level_number, member_unique_name on pages</span></p><p><span style="color: #2b00fe;"> 7> from [Sample].[Basic];</span></p><p><span style="color: #2b00fe;"><br /></span></p><p><span style="color: #2b00fe;">Scenario|Measures|Scenario.LEVEL_NUMBE|Product|Product.LEVEL_NUMBER|Mar|Apr</span></p><p><span style="color: #2b00fe;">Actual|Opening Inve|0|Actual|0|Opening |Cream Soda|1|300|29095|30334</span></p><p><span style="color: #2b00fe;">Actual|Opening Inve|0|Actual|0|Opening |Fruit Soda|1|400|26409|27588</span></p><p><span style="color: #2b00fe;">Actual|Ending Inven|0|Actual|0|Ending I|Cream Soda|1|300|30334|32266</span></p><p><span style="color: #2b00fe;">Actual|Ending Inven|0|Actual|0|Ending I|Fruit Soda|1|400|27588|29550</span></p><p><span style="color: #2b00fe;">Budget|Opening Inve|0|Budget|0|Opening |Cream Soda|1|300|27380|28460</span></p><p><span style="color: #2b00fe;">Budget|Opening Inve|0|Budget|0|Opening |Fruit Soda|1|400|27230|29030</span></p><p><span style="color: #2b00fe;">Budget|Ending Inven|0|Budget|0|Ending I|Cream Soda|1|300|28460|30190</span></p><p><span style="color: #2b00fe;">Budget|Ending Inven|0|Budget|0|Ending I|Fruit Soda|1|400|29030|31520</span></p><p><span style="color: #2b00fe;"><br /></span></p><p><span style="color: #2b00fe;"> OK/INFO - 1241150 - MDX Query execution completed.</span></p><p><span style="color: #2b00fe;"><br /></span></p><p><span style="color: #2b00fe;">MAXL> spool off;</span></p><p><br /></p><h2 style="text-align: left;">Generation 3: The Good</h2><p>The next iteration, only available in Essbase 19c or higher, is what should have been available in the first place.</p><p>Here's the new code. Notice the first line where I can now specify the export file name and the delimiter. Nirvana...</p>
<!--HTML generated using hilite.me--><div style="background: rgb(255, 255, 255); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;"><table><tbody><tr><td><pre style="line-height: 125%; margin: 0px;">1
2
3
4
5
6
7
8</pre></td><td><pre style="line-height: 125%; margin: 0px;">EXPORT INTO FILE "Gen3" OVERWRITE USING COLUMNDELIMITER "|"
select {[Mar],[Apr]} on columns,
{[300],[400]} dimension properties
level_number, member_unique_name on rows,
crossjoin({[Actual],[Budget]},
{[Opening Inventory],[Ending Inventory]})
dimension properties level_number, member_unique_name on pages
from [Sample].[Basic];
</pre></td></tr></tbody></table></div><p>Here's the file output:</p><p><span style="color: #2b00fe;">Scenario|Measures|Scenario.LEVEL_NUMBER|Scenario.MEMBER_UNIQUE_NAME|Measures.LEVEL_NUMBER|Measures.MEMBER_UNIQUE_NAME|Product|Product.LEVEL_NUMBER|Product.MEMBER_UNIQUE_NAME|Mar|Apr</span></p><p><span style="color: #2b00fe;">Actual|Opening Inventory|0|Actual|0|Opening Inventory|Cream Soda|1|300|29095|30334</span></p><p><span style="color: #2b00fe;">Actual|Opening Inventory|0|Actual|0|Opening Inventory|Fruit Soda|1|400|26409|27588</span></p><p><span style="color: #2b00fe;">Actual|Ending Inventory|0|Actual|0|Ending Inventory|Cream Soda|1|300|30334|32266</span></p><p><span style="color: #2b00fe;">Actual|Ending Inventory|0|Actual|0|Ending Inventory|Fruit Soda|1|400|27588|29550</span></p><p><span style="color: #2b00fe;">Budget|Opening Inventory|0|Budget|0|Opening Inventory|Cream Soda|1|300|27380|28460</span></p><p><span style="color: #2b00fe;">Budget|Opening Inventory|0|Budget|0|Opening Inventory|Fruit Soda|1|400|27230|29030</span></p><p><span style="color: #2b00fe;">Budget|Ending Inventory|0|Budget|0|Ending Inventory|Cream Soda|1|300|28460|30190</span></p><p><span style="color: #2b00fe;">Budget|Ending Inventory|0|Budget|0|Ending Inventory|Fruit Soda|1|400|29030|31520</span></p><p><br /></p><h2 style="text-align: left;">Generation 2 Part 2:</h2><p>This is the plot twist and the part that I did not cover in my presentation. In reading through the release notes, I noticed there's a new command which became available in 11.1.2.4.018. It allows you to turn off the echo of statements in the spooled file. It does appear that you can get a clean MDX export in 11.1.2.4 (as long as you're on patch 18 or higher). The other thing I noticed is that I only got clean output in my export file if I was running the script in non-interactive mode. If I manually logged in using the MaxL command line interface and tried running this, I'd still get the unwanted statements in my output file.</p><p>Here's the code:</p>
<!--HTML generated using hilite.me--><div style="background: rgb(255, 255, 255); border-color: gray; border-image: initial; border-style: solid; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;"><table><tbody><tr><td><pre style="line-height: 125%; margin: 0px;"> 1
2
3
4
5
6
7
8
9
10
11
12
13
14</pre></td><td><pre style="line-height: 125%; margin: 0px;">set message level warning;
set column_separator "|";
set echo_mode off;
spool on to 'Gen2p2.txt';
select {[Mar],[Apr]} on columns,
{[300],[400]} dimension properties
level_number, member_unique_name on rows,
crossjoin({[Actual],[Budget]},
{[Opening Inventory],[Ending Inventory]})
dimension properties level_number, member_unique_name on pages
from [Sample].[Basic];
spool off;
</pre></td></tr></tbody></table></div>
<p><br /></p><p>Here's the file output:</p><p><span style="color: #2b00fe;">Scenario|Measures|Scenario.LEVEL_NUMBER|Scenario.MEMBER_UNIQUE_NAME|Measures.LEVEL_NUMBER|Measures.MEMBER_UNIQUE_NAME|Pr</span></p><p><span style="color: #2b00fe;">oduct|Product.LEVEL_NUMBER|Product.MEMBER_UNIQUE_NAME|Mar|Apr</span></p><p><span style="color: #2b00fe;">Actual|Opening Inventory|0|Actual|0|Opening Inventory|Cream Soda|1|300|29095|30334</span></p><p><span style="color: #2b00fe;">Actual|Opening Inventory|0|Actual|0|Opening Inventory|Fruit Soda|1|400|26409|27588</span></p><p><span style="color: #2b00fe;">Actual|Ending Inventory|0|Actual|0|Ending Inventory|Cream Soda|1|300|30334|32266</span></p><p><span style="color: #2b00fe;">Actual|Ending Inventory|0|Actual|0|Ending Inventory|Fruit Soda|1|400|27588|29550</span></p><p><span style="color: #2b00fe;">Budget|Opening Inventory|0|Budget|0|Opening Inventory|Cream Soda|1|300|27380|28460</span></p><p><span style="color: #2b00fe;">Budget|Opening Inventory|0|Budget|0|Opening Inventory|Fruit Soda|1|400|27230|29030</span></p><p><span style="color: #2b00fe;">Budget|Ending Inventory|0|Budget|0|Ending Inventory|Cream Soda|1|300|28460|30190</span></p><p><span style="color: #2b00fe;">Budget|Ending Inventory|0|Budget|0|Ending Inventory|Fruit Soda|1|400|29030|31520</span></p>
TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-53822642915653965612020-05-13T15:21:00.002-05:002020-05-15T09:46:12.398-05:00Federated Partitions in Essbase<span style="font-family: "arial" , "helvetica" , sans-serif;">In this post I'm going to try to explain what a Federated Partition is in the Essbase world, how to create one and then I'll throw in some speculation about them just for fun.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">So what exactly is a Federated Partition? I can find no documentation on them (with the exception of the </span><span style="font-family: "arial" , "helvetica" , sans-serif; font-size: 16px; white-space: pre;">RealtimeCSV_Updates.xlsx file in the Cloud Gallery)</span><span style="font-family: "arial" , "helvetica" , sans-serif;">. They were briefly presented by Oracle at Kscope19. My only understanding comes from trying to set them up and speaking directly with Oracle product management.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Very simply put they are transparent partitions to either relational databases or flat files. The data is not stored in Essbase, it remains in the source. "Realtime Partitions" is how they were presented at Kscope19.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">This architecture has a number of ramifications I'm sure. The word "fast" does not come to mind but the jury is still out.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Now I'll walk through creating one in Essbase 19c. I tried getting this to work in OAC back when OAC meant Essbase Cloud but ran into many issues and was not successful. This is going to be a very simple example using a flat file source. When the data in that flat file changes, the data in Essbase will change -- like magic. Yeah, mind blown, I know, let's get started...</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<h3>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Create the Cube and Partition </span></h3>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Essbase 19c comes with a gallery of applications well beyond Sample Basic. The one designed to demonstrate Federated Partitions is called RealtimeCSV.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">Import the cube from the Gallery.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><span style="border: none; display: inline-block; font-family: "arial" , "helvetica" , sans-serif; height: 70px; overflow: hidden; width: 600px;"><img alt="image" height="70" src="https://lh3.googleusercontent.com/PtZ6Im-u2OeD7Dxmvei-8dnnTNaG1RaUv2UdkYedWBUAuwFX3GIXCnhwPa2L2hSK9xzbwxYcjdH9QmYuCSlmUQRYGEAMp0dzxfGKUHqVAzxcElfeY5zCPeMAbSdJ2_3DE5QlCzGy9pxuZvK1-g" style="margin-left: 0px; margin-top: 0px;" width="600" /></span></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><br />
</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">Select the RealtimeCSV_Updates.xlsx file which contains everything Essbase needs to build the cube.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><span style="border: none; display: inline-block; font-family: "arial" , "helvetica" , sans-serif; height: 181px; overflow: hidden; width: 600px;"><img alt="image" height="181" src="https://lh5.googleusercontent.com/KsSgvC_DRa6tFakP90Icy4SYQ0zbumjivMXIoYCmsqFM-PO5Ll6sUMWYvcQkFjjmzclYsim8xOf8y8M2_Qjyspp8Q0y3zquT8oxykfEGAvvAVUQddIC5eC1p85AefuGecEZjVsjr7xhF_uukvw" style="margin-left: 0px; margin-top: 0px;" width="600" /></span></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><br />
</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">Now I can see cube in my list of applications.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><span style="border: none; display: inline-block; font-family: "arial" , "helvetica" , sans-serif; height: 145px; overflow: hidden; width: 600px;"><img alt="image" height="154" src="https://lh6.googleusercontent.com/xVCT3iEDPXVj1R-7cHmoDP7QZP54pNtYWLVFbc9jxJvEVPckQwySf-dVBQs1okKviH6EORPHHryeiqCw-YJC-cU-6wWhkuZgWGtSEyCDqqQPEEfKRuEmtkumgZktihwoVBlw8gyngDjIUXG2RA" style="margin-left: 0px; margin-top: 0px;" width="640" /></span></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><br />
</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">Under Sources, I select Create Connection and File.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><span style="border: none; display: inline-block; font-family: "arial" , "helvetica" , sans-serif; height: 185px; overflow: hidden; width: 600px;"><img alt="image" height="185" src="https://lh5.googleusercontent.com/t6pjU0uFe6MiDG_TKzDIYcgKPskWLHsDKNx6cPNlxmHWc8JF8lAmpFya8hVhqYALMhVuBcsKs3TCTzPsthY5bVcAKReMqCcmUyJvZgXkmvz1-V_qsHVXenp3QPPIpSdrc9gKMiwbQ72fpEQPmw" style="margin-left: 0px; margin-top: 0px;" width="600" /></span></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><br />
</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="background-color: transparent; color: black; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I named my connection RealTimeCSV_Conn and selected the Realtime_DS.csv file from the shared folder on the cloud. </span><span style="font-size: 12pt; white-space: pre-wrap;">Since you cannot update the files in the Gallery, I made a copy of the Realtime_DS.csv file which will allow me to update it.</span></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><span style="border: none; display: inline-block; font-family: "arial" , "helvetica" , sans-serif; height: 394px; overflow: hidden; width: 573px;"><img alt="image" height="394" src="https://lh5.googleusercontent.com/j-ZYmgi89dmphStxzwGLMkyWXhQfmaA9r4SwZUL0bH99AtZKlHHO-uSpcNHnW6Kb_gfHFoKqxIwoYjya2XSwU4JHnyKXGSzTKPBle1YMA242jnAKCih0IcfHJYkAYEMK8DJv2f0CM1b91GoyEA" style="margin-left: 0px; margin-top: 0px;" width="573" /></span></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><br />
</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">Next I selected Datasources and Create Datasource. Then I chose the Connection I just created.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><span style="border: none; display: inline-block; font-family: "arial" , "helvetica" , sans-serif; height: 219px; overflow: hidden; width: 600px;"><img alt="image" height="219" src="https://lh6.googleusercontent.com/Y1AqbhzOWXXNoliPoqJ7EOh-UafakvKzewJODagH5eTuA1ZwEyNtbvz4ecp1Aw4TbyZt-MeBmWz_0CEK3hmmxRAnMJ1X-EFftVyeJYfnvCbOb6Z0E_xr5XdX1ikv0qGpL_gErjuQAkazlSQBGw" style="margin-left: 0px; margin-top: 0px;" width="600" /></span></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><br />
</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I named the Datasource RealtimeCSV_Conn and clicked Next.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><span style="border: none; display: inline-block; font-family: "arial" , "helvetica" , sans-serif; height: 480px; overflow: hidden; width: 600px;"><img alt="image" height="480" src="https://lh4.googleusercontent.com/rUYGGzpbxBAJ8vvfJce-tD814vRRsHsBmQpMU7og4NLf9C8lHapM4JWv3jiAmh8zLzW0GNUpn7PdHUvYLUExPHM4fcxFhbACdVPDkeSK_DFU73LZbRURws7sMQj21CsM4cL5I0t5xELJfHwJsQ" style="margin-left: 0px; margin-top: 0px;" width="600" /></span></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><br />
</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I changed the Units and Price column to have the Double type. Then clicked Next.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><span style="border: none; display: inline-block; font-family: "arial" , "helvetica" , sans-serif; height: 490px; overflow: hidden; width: 600px;"><img alt="image" height="490" src="https://lh4.googleusercontent.com/RpsknKIBtrD9JVHNlZJFcUCg0EojowjFPeIzDDLALbJ0fGboZ-7gUq-ICc1BIqPyaLcXMmukmgXgH1sjjd6LLAxT9pDQUG7HysuMW_lRZO0xS8IXXBM156rOhW5sNkIEGcYdRNZ4WAxpfu-FGg" style="margin-left: 0px; margin-top: 0px;" width="600" /></span></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><br />
</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">Finally I was prompted with a Preview of my data and I clicked Create.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><span style="border: none; display: inline-block; font-family: "arial" , "helvetica" , sans-serif; height: 487px; overflow: hidden; width: 600px;"><img alt="image" height="487" src="https://lh3.googleusercontent.com/AHQ9ZCwq4hYFYlpWc4mNRbbrMhW6x8fSFqaCOee04r2vRx3hy0evsaEBpkLrRGghgkha6gCZ_URRrdjlOK-7CvQlFdqX6fqni1EztX0iVEn2PaRsQPMSIEjyQJRoBWq2AqgVBRYJgxPPUXWDEw" style="margin-left: 0px; margin-top: 0px;" width="600" /></span></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><br />
</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">Next I clicked on the Areas tab. From there I clicked the Add Area button and entered my Target Area using Essbase functions and member names.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">I then clicked the Validate button followed by the Save and Close button.</span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCP_qx6KJqVw2xBZUAGFKvZNJZFz5uheTrHhFxP2MEhMuwO1MCFlTGRlBsV1u7NHgnwFB2hMENim4Of0GKu11M-j4BiiLtRF1jlQi7D2JIsJPZMkUTNM141PNqgF3oU0QAmrbWeVTpO6oD/s1600/partition.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "arial" , "helvetica" , sans-serif;"><img border="0" data-original-height="415" data-original-width="797" height="332" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCP_qx6KJqVw2xBZUAGFKvZNJZFz5uheTrHhFxP2MEhMuwO1MCFlTGRlBsV1u7NHgnwFB2hMENim4Of0GKu11M-j4BiiLtRF1jlQi7D2JIsJPZMkUTNM141PNqgF3oU0QAmrbWeVTpO6oD/s640/partition.jpg" width="640" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: 16px; white-space: pre-wrap;">I then went to pull in some data to test the cube. The data is coming into this cube in real time.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><span style="border: none; display: inline-block; font-family: "arial" , "helvetica" , sans-serif; height: 369px; overflow: hidden; width: 600px;"><img alt="image" height="369" src="https://lh4.googleusercontent.com/-42y7hZUJ89iYZ7eLRew_NgE1kz7BVSy8yATe-Thrr0Bri77j7gyLtnd1wcm31pqq6S81QYSidW3_PWa1yvCuvar71huDhNCajDkDQFnkRUb_oHN3j-_emDnfuxIWTQSTU4b2bI_NWrLS3Mfxw" style="margin-left: 0px; margin-top: 0px;" width="600" /></span></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><br />
</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial" , "helvetica" , sans-serif; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;">Finally, I went back and updated the csv file with some different numbers. I refreshed my data and the changes were reflected.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: pre;"><span style="border: none; display: inline-block; font-family: "arial" , "helvetica" , sans-serif; height: 369px; overflow: hidden; width: 600px;"><img alt="image" height="369" src="https://lh6.googleusercontent.com/3UDHO6XLOzUtF7ATxtgc3AslAflpxZ2ElrwmWWRru2y1-wwnkxGmXOzxb_sIWLX2jQaTfbaNYsBu8xNWsaZ7zr8q8ttEUmK_onWjZvp-S3HP_-e4m0v0xGcqXKoTOxKNU4BANw1aXNsqI9uVPA" style="margin-left: 0px; margin-top: 0px;" width="600" /></span></span></div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span id="docs-internal-guid-3d7750ce-7fff-cfeb-efc5-633165ea5c41"><br />
</span> </span><br />
<h3>
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: 16px; font-weight: 400; white-space: pre;">Just to prove what's going on here, I'll show you the database storage statistics. You can see that there are no blocks and no pag or ind files.</span></h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHqNchSpeBwkdNTS7Z7sXoiLk32AwKDnUwhHlVE1vqF8YthNmG5_f1vchn72hkOHPeS0R1vdJqB5mDzojhRGP3i4vKOdB7E5n71VCRGngI_K10CD3fEh_avemSwkl5lQWgSW9aB5yd72R7/s1600/cube+stats.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="505" data-original-width="527" height="382" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHqNchSpeBwkdNTS7Z7sXoiLk32AwKDnUwhHlVE1vqF8YthNmG5_f1vchn72hkOHPeS0R1vdJqB5mDzojhRGP3i4vKOdB7E5n71VCRGngI_K10CD3fEh_avemSwkl5lQWgSW9aB5yd72R7/s400/cube+stats.jpg" width="400" /></a></div>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif; font-size: 16px; font-weight: 400; white-space: pre;"><br /></span></div>
<h3>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Speculating Wildly</span></h3>
<span style="font-family: "arial" , "helvetica" , sans-serif;">So what does this all mean? Why would Oracle be spending time on a feature like this? All of this is speculation influenced by comments I've heard from product managers over the past year...</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Oracle is a database company. They make a really powerful database that runs a significant portion of the world. Wouldn't it be really cool if they could scrap page and index files altogether and just have their relational database store all of the level 0 Essbase data? Well that's what this is. Right now. Slap hybrid calculations on top and you have real-time updates to your cube. No loads, no calcs.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;">It always comes down to performance. This cube is three dimensions. It's got training wheels and makes Sample Basic look complicated. I'll remain skeptical, outside of small use cases, until I see large cubes using Federated Partitions with sizable data sources. In the meantime it's another tool in the toolbox. Drop me a line if you start using it in a production environment.</span><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "arial" , "helvetica" , sans-serif;"></span><br />
<h3>
<span style="font-family: "arial" , "helvetica" , sans-serif;">Disclaimer</span></h3>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="color: #333333; font-family: "google sans", sans-serif, Roboto;">I urge extreme caution in trying to use Federated Partitions. Keep in mind that Oracle has probably not documented them for a reason. For now I would recommend using traditional techniques for loading data into a cube.</span></span>TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-39546583120380493532020-01-09T09:29:00.000-06:002020-01-09T09:29:46.737-06:00AUTOMERGEI started writing this post four and one half years ago. I'm finally getting around to finishing it because I had to use it in real life this week.<br />
<br />
I ran into what I thought was strange behavior in ASO the other day. I'd submit data to a cell, then submit a zero. I'd see a zero. Then I'd submit data to a cell, then submit a zero. I'd see a #MISSING. I'd repeat this over and over again. The first time I'd get a zero, the second time I'd get a #MISSING. At least that was consistent!<br />
<br />
I had a hunch it had to do with ASO data slices and the merge process. In 11.1.2.4 the default ASO behavior is for slices to be automatically merged after some number of slices have been created. The two essbase.cfg settings that control this are <a href="https://docs.oracle.com/cd/E57185_01/ESBTR/automerge.html" target="_blank">AUTOMERGE</a> and <a href="https://docs.oracle.com/cd/E57185_01/ESBTR/automergemaxslicenumber.html" target="_blank">AUTOMERGEMAXSLICENUMBER</a>.<br />
<br />
So the first send of a number created slice 1, the send of the zero created slice 2, the send of the next number created slice 3, the send of the next zero created slice 4. Four happens to be the default value for the AUTOMERGEMAXSLICENUMBER setting. ALWAYS happens to be the default value for the AUTOMERGE setting. So when that fourth slice was created, it triggered Essbase to automatically merge the slices back together.<br />
<br />
The documentation states that the merge happens after the slice number is exceeded, so it should happen on the fifth load of data. I observed that it was happening on the exact number, so on the fourth load of data.<br />
<br />
The one thing you can't control here is that when the merge happens it will turn your zeros into #MISSINGs. In most cases this is fine, but in certain circumstances when you need an actual zero, it could be a problem. Merging the data slices using MaxL allows you to control whether or not the zeros are removed.<br />
<br />
<pre class="programlisting" style="background-color: #f9f9fb; border-radius: 3px; border: 1px solid rgb(217, 217, 226); box-sizing: border-box; font-family: menlo, monaco, "Courier New", Courier, mono, serif; font-size: 13px; line-height: 1.615; margin-bottom: 1em; overflow-wrap: normal !important; overflow: auto; padding: 5px;">alter database ASOsamp.Sample merge all data remove_zero_cells;</pre>
I'm curious to know if anyone has run into any problems with this setting causing performance problems. Depending upon how many users are sending data to the cube I would imagine running so many merges could be an issue. Then again, it might help since you reduce query cost after merging slices.TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-80741282289614288792019-09-13T08:30:00.000-05:002019-09-13T08:30:01.782-05:00MDX Insert IntermissionI have not created any posts about MDX Insert lately as I have hit a snag with my research on the <span style="background-color: white; color: #1a1816; font-family: "Courier New", Courier, monospace; font-size: 16px;"><a href="https://docs.oracle.com/en/cloud/paas/analytics-cloud/tress/customcalcandallocthruinsert.html" target="_blank">CUSTOMCALCANDALLOCTHRUINSERT</a> </span>Essbase config file setting. This setting, in theory, will take an existing ASO procedural calc and automatically run it as an MDX Insert. This would be great for the customers who have a large number of ASO procedural calcs. I get the impression that once Essbase 19c comes out that this will work. So I'll wait until I have better information before doing a full write-up on the topic.<br />
<br />
In the meantime I can report some really great news about MDX Insert and my hope for it becoming the next "big thing" for Essbase.<br />
<br />
I was working with a colleague on an ASO procedural calc. He was using 11.1.2.3.500 and ran into the "query exceeds 2^64" error which kills the calc. This was due to the large number of combinations in the POV.<br />
<br />
The same calc in 11.1.2.4.031 doesn't give an error but it also never finishes. <sad face=""> I think a lot of people were turned off to ASO procedural calcs due to this issue.</sad><br />
<br />
The great news is that the same calc that died previously, when translated to MDX Insert, took a grand total of two seconds to complete in OAC. <b><i><u>Two frikkin' seconds</u></i></b>!<br />
<br />
I'm seeking other outlines to try this on. If you've got one I can use for testing, drop me a line.<br />
<br />
Also, I'll be at Oracle Open World 19 in San Francisco next week. I hope to see some of you there.TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-3898298487655327232019-08-06T11:36:00.002-05:002019-08-06T11:36:31.883-05:00MDX Insert Part Three<br />
<br />
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;">In <a href="http://essbase-day.blogspot.com/2019/07/mdx-insert-part-two.html" target="_blank">Part Two</a> of this series I showed how to perform a simple MDX Insert, copying a single cell of data in an ASO cube. In this post I will show how to create a slightly more complicated calculation.</span><br />
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span> <span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;">Keep in mind that you need to be using Essbase in OAC for this to work. It will not work in Essbase 11.1.2.4 or prior.</span><br />
<br />
<h3>
WITH</h3>
<div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;">I'm going to use the MDX 'With' statement in order to create a calculated member. The With statement comes first in an MDX script. You can use it to define an Essbase member on the fly. You can then use that member in other calculations or in the output of an MDX query. To keep things simple and easy to reproduce for those of you following along at home, I will recreate the Variance member in ASOSamp.Basic.</span></div>
<div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span></div>
<div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;">First I added a member in the outline called Stored Variance.</span></div>
<div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYH2tlaR6WBHNg547auTaGKdF7c5et5u4QIVYaDxF8eYS8kwUAsOmUcRprNgRkKe2NjW8OeeBQ8COIHHXQsXtsda0wwFBzZ3xvDnC7suRVXKGoywm4hMggGRvyL0xUQhHHNgA_b-cIKEYy/s1600/PartThreeA.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="164" data-original-width="967" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYH2tlaR6WBHNg547auTaGKdF7c5et5u4QIVYaDxF8eYS8kwUAsOmUcRprNgRkKe2NjW8OeeBQ8COIHHXQsXtsda0wwFBzZ3xvDnC7suRVXKGoywm4hMggGRvyL0xUQhHHNgA_b-cIKEYy/s1600/PartThreeA.jpg" /></a></div>
<div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span></div>
<div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span></div>
<div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;">Next I created my MDX statement. The 'With' statement comes first. In this case I called my member on the fly _Variance. I put an underscore in front of members on the fly so they won't conflict with any Essbase members and so that I can quickly see what's being created dynamically in MDX. Of course, if you happen to use underscores to begin member names in your Essbase outline (heaven help you and) find a different method.</span></div>
<div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span></div>
<div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;">The syntax here is hopefully straightforward. You define the member name <i>AS</i> some formula which goes in single quotes. Here I am subtracting [Prev Year] from [Curr Year].</span></div>
<div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span></div>
<div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span></div>
<div>
<span style="background-color: white; font-size: 13.2px;"><span style="color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif;"></span></span><br />
<div class="separator" style="clear: both; text-align: center;">
<span style="background-color: white; font-size: 13.2px;"><span style="color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0JI9yvRmw43ECvIwlgpvQKtCRKqAy6rzaBgNgISK8hm5FnNYBX7iNDn8jHe9vSzG55Q_MonwYBPsDWvFTf5j8k06bWGMBJzjPr00E95V6f3wPJfb0YCarVIHeOtgneTJF3oE6yeeYl2cE/s1600/PartThreeB.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="55" data-original-width="294" height="74" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0JI9yvRmw43ECvIwlgpvQKtCRKqAy6rzaBgNgISK8hm5FnNYBX7iNDn8jHe9vSzG55Q_MonwYBPsDWvFTf5j8k06bWGMBJzjPr00E95V6f3wPJfb0YCarVIHeOtgneTJF3oE6yeeYl2cE/s400/PartThreeB.jpg" width="400" /></a></span></span></div>
<span style="background-color: white; font-size: 13.2px;"><span style="color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif;"> </span></span><br />
<div>
<span style="background-color: white; font-size: 13.2px;"><span style="color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif;"><br />
</span></span></div>
</div>
<div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;">Next comes the INSERT statement. Remember from part two that the syntax is "(source tuple)" TO "(target tuple)".</span><br />
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span> <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw62laAmG1wk86WkWa8z1rJVs-g4ZYtrzLkQa5oDwC38g2nT-GDgWpgFQoPgmlpY5JagUc8lhyphenhyphengRcsX_IUp2n_IDma-iL8AtJKzHyhVV1Ho3X3GXoyN_54Do92URzpOFcrZTPvpBy1aQqB/s1600/PartThreeC.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="65" data-original-width="424" height="97" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiw62laAmG1wk86WkWa8z1rJVs-g4ZYtrzLkQa5oDwC38g2nT-GDgWpgFQoPgmlpY5JagUc8lhyphenhyphengRcsX_IUp2n_IDma-iL8AtJKzHyhVV1Ho3X3GXoyN_54Do92URzpOFcrZTPvpBy1aQqB/s640/PartThreeC.jpg" width="640" /></a></div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span> <span style="color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif;"><span style="background-color: white;"><span style="font-size: 13.2px;">Then the SELECT statement is added surrounded by parenthesis. In this case I'm putting the _Variance member on the columns and then the Crossjoin of all the level zero members from the remaining dimensions on the rows. Notice that I don't need to bother leaving out shared or dynamic members.</span></span></span><br />
<span style="color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif;"><span style="background-color: white;"><span style="font-size: 13.2px;"><br />
</span></span></span> <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCnlm5lORh-VbiQ2fFyzFIS6x3BBFZvKGcm_mGGoOWdEsp3m9XiXNo6sGS1y2aFiDw6nYBZxG8k45MfXxsoi2PBsBhwBMbdg-THEf83CHowTt3frm-GBvqQPzc3U0Y0X4jKhgISs0b1T28/s1600/PartThreeD.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="269" data-original-width="666" height="257" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCnlm5lORh-VbiQ2fFyzFIS6x3BBFZvKGcm_mGGoOWdEsp3m9XiXNo6sGS1y2aFiDw6nYBZxG8k45MfXxsoi2PBsBhwBMbdg-THEf83CHowTt3frm-GBvqQPzc3U0Y0X4jKhgISs0b1T28/s640/PartThreeD.jpg" width="640" /></a></div>
<span style="color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif;"><span style="background-color: white;"><span style="font-size: 13.2px;"><br />
</span></span></span> <span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;">Once I validate and save the script, I can run the job. To do that I go to the jobs screen in the Jet UI.</span><br />
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span> <br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYm_Dggm9FDZLIroBvobk7tCol1syO1JxwZud67CR1ikTZiDnt6OFV68hCmc7ObBzJPsK4-iMG7pNBzDZM9HhiwEq8LkudWAGnVYeeHIZIEgaVfp350-qLgT3eAt-m_4oDzTUHVj8hyphenhyphenL6J/s1600/PartThreeE.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="112" data-original-width="970" height="72" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYm_Dggm9FDZLIroBvobk7tCol1syO1JxwZud67CR1ikTZiDnt6OFV68hCmc7ObBzJPsK4-iMG7pNBzDZM9HhiwEq8LkudWAGnVYeeHIZIEgaVfp350-qLgT3eAt-m_4oDzTUHVj8hyphenhyphenL6J/s640/PartThreeE.jpg" width="640" /></a></div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span> <span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;">Then select New Job -> Run MDX.</span><br />
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span> <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz-snvnTJ4wZNqW2DP30yBNYjWWouy4NTwKUDr6zvbIq8XlJViHBNQBfIt8O2C282ygdTStNyDeMPegzBFSmBfCj6PrYxQCUMet8ZDUn8K6WymDd_bwbBdGgSn9PeoiO7QRqgyatp09cNo/s1600/PartThreeF.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="538" data-original-width="212" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz-snvnTJ4wZNqW2DP30yBNYjWWouy4NTwKUDr6zvbIq8XlJViHBNQBfIt8O2C282ygdTStNyDeMPegzBFSmBfCj6PrYxQCUMet8ZDUn8K6WymDd_bwbBdGgSn9PeoiO7QRqgyatp09cNo/s400/PartThreeF.jpg" width="157" /></a></div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span> <span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span> <span style="color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif;"><span style="background-color: white; font-size: 13.2px;">Finally, I select the MDX script I want to run.</span></span><br />
<span style="color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif;"><span style="background-color: white; font-size: 13.2px;"><br />
</span></span> <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoI3vwIdTOP8oqZNVAXXXA40CxaQ6U5847xhiwHSAk2rwIEYDim21eEx6hipOjSVNLNyi-2lzTOWGDVuPxeRBs_eX8TH56aijLvqm8CsW0IvEbCquxb07WRWs2IEncO0oQKVPHVZzWBKJc/s1600/PartThreeG.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="279" data-original-width="459" height="242" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoI3vwIdTOP8oqZNVAXXXA40CxaQ6U5847xhiwHSAk2rwIEYDim21eEx6hipOjSVNLNyi-2lzTOWGDVuPxeRBs_eX8TH56aijLvqm8CsW0IvEbCquxb07WRWs2IEncO0oQKVPHVZzWBKJc/s400/PartThreeG.jpg" width="400" /></a></div>
<span style="color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif;"><span style="background-color: white; font-size: 13.2px;"><br />
</span></span> <span style="color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif;"><span style="background-color: white; font-size: 13.2px;">This calculation took 6.9 seconds to run with the standard ASOSamp.Basic data.</span></span><br />
<span style="color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif;"><span style="background-color: white; font-size: 13.2px;"><br />
</span></span> <br />
<h3>
Why?</h3>
</div>
<div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;">Why might I want to run a calculation like this? In this case it doesn't make a lot of sense. ASO should be able to handle a simple variance calculation with little effort. But what about a rate <i>times</i> volume calculation?</span> Or a foreign currency calculation? Those get much trickier -- <a href="https://essbase-day.blogspot.com/2015/10/summing-calculated-members-in-aso.html" target="_blank">see why here</a>.</div>
<div>
<br /></div>
<div>
<h3>
The Old Way</h3>
</div>
<div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;">You could run this calculation with the Execute Allocation MaxL statement. Here's the statement:</span></div>
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> execute allocation process on database ASOSamp.Basic with
pov "CROSSJOIN(Except([Measures].LEVELS(0).MEMBERS,{[Avg Units/Transaction],[% of Total]}),
CROSSJOIN(Descendants([MTD],LEVELS([Time],0)),
CROSSJOIN([Transaction Type].LEVELS(0).MEMBERS,
CROSSJOIN([Payment Type].LEVELS(0).MEMBERS,
CROSSJOIN([Promotions].LEVELS(0).MEMBERS,
CROSSJOIN([Age].LEVELS(0).MEMBERS,
CROSSJOIN([Income Level].LEVELS(0).MEMBERS,
CROSSJOIN([Products].LEVELS(0).MEMBERS,
CROSSJOIN([Stores].LEVELS(0).MEMBERS,[Geography].LEVELS(0).MEMBERS)))))))))"
amount "([Curr Year]-[Prev Year])"
target ""
range "{[Stored Variance]}"
spread;
</code></pre>
<div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span></div>
<div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;">Notice that I had to add in an Except() statement to remove members with formulas. I also had to change the way I was pulling the Time dimension members because they too had some formulas. When I ran the script I got these warnings:</span><br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> [DBNAME: Basic] The argument [POV] ignores the duplicate member [Flat Panel]
[DBNAME: Basic] The argument [POV] ignores the duplicate member [HDTV]
[DBNAME: Basic] The argument [POV] ignores the duplicate member [Digital Recorders]
[DBNAME: Basic] The argument [POV] ignores the duplicate member [Notebooks]
</code></pre>
<br />
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;">So I probably should have removed those shared members from the POV as well. What a pain...</span><br />
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br /></span>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;">This script took 7.9 seconds to run. I understand that 1 second is not a lot of time but in this case the MDX Insert was about 15% faster than the Execute Allocation. I've always seen performance improvement for MDX Insert when comparing the two methods. Over the course of many longer calculations, the performance improvement can be significant.</span><br />
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span> <br />
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"></span><br />
<h3>
NON EMPTY</h3>
<div>
<span style="background-color: white; color: #222222; font-family: arial, tahoma, helvetica, freesans, sans-serif; font-size: 13.2px;">In case you're wondering, I did try adding a NON EMPTY directive before the rows set and it yielded no performance improvement.</span></div>
<div>
<span style="background-color: white; color: #222222; font-family: arial, tahoma, helvetica, freesans, sans-serif; font-size: 13.2px;"> </span></div>
<h3>
Appendix</h3>
<div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><span style="font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;">MDX Script for easy copy and paste:</span></span></div>
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> WITH
MEMBER Years.[_Variance] AS
'[Curr Year]-[Prev Year]'
INSERT
"(Years.[_Variance])" TO "(Years.[Stored Variance])"
INTO ASOSamp.Basic FROM
(
SELECT
{Years.[_Variance]} ON COLUMNS,
{CROSSJOIN([Measures].LEVELS(0).MEMBERS,
CROSSJOIN([Time].LEVELS(0).MEMBERS,
CROSSJOIN([Transaction Type].LEVELS(0).MEMBERS,
CROSSJOIN([Payment Type].LEVELS(0).MEMBERS,
CROSSJOIN([Promotions].LEVELS(0).MEMBERS,
CROSSJOIN([Age].LEVELS(0).MEMBERS,
CROSSJOIN([Income Level].LEVELS(0).MEMBERS,
CROSSJOIN([Products].LEVELS(0).MEMBERS,
CROSSJOIN([Stores].LEVELS(0).MEMBERS,[Geography].LEVELS(0).MEMBERS)))))))))} ON ROWS
FROM ASOSamp.Basic
)
</code></pre>
<div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><span style="font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span></span></div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span> <span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span></div>
<div>
<br /></div>
<div>
<span style="background-color: white; color: #222222; font-family: "arial" , "tahoma" , "helvetica" , "freesans" , sans-serif; font-size: 13.2px;"><br />
</span></div>
TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-56034640702068700162019-07-15T07:00:00.000-05:002019-07-15T07:20:44.293-05:00MDX Insert Part TwoIn <a href="http://essbase-day.blogspot.com/2019/07/mdx-insert-part-one.html" target="_blank">Part One</a> of this series I explained why I think MDX Insert is one of the most important things to happen to Essbase in a while. Now I'm going to show you how to use it. I hope to build from very simple, to very complex over the coming weeks. If you have interesting use cases, send them my way. The more input I get, the more interesting my examples will be.<br />
<br />
Keep in mind that you need to be using Essbase in OAC for this to work. It will not work in Essbase 11.1.2.4 or prior.<br />
<br />
<h3>
<span style="color: blue;">Documentation</span></h3>
As far as I can tell this is the sum total of documentation on MDX Insert from Oracle:<br />
<br />
<a href="https://docs.oracle.com/en/cloud/paas/analytics-cloud/tress/mdx-insert-specification.html" target="_blank">Tech Reference Spec</a><br />
<a href="https://docs.oracle.com/en/cloud/paas/analytics-cloud/tress/mdxinsertrequesttimeout.html" target="_blank">MDXINSERTREQUESTTIMEOUT</a> - sets the timeout for an MDX Insert statement<br />
<a href="https://docs.oracle.com/en/cloud/paas/analytics-cloud/tress/mdxinsertbufferaggmethod.html" target="_blank">MDXINSERTBUFFERAGGMETHOD</a> - sets whether to add same intersection values or load the last one calculated. Note that it doesn't say if this is an ASO only command so I will assume it isn't until I test it out myself.<br />
<a href="https://www.essbaselabs.com/2018/05/introducing-mdx-insert.html" target="_blank">Blog One</a><br />
<a href="https://www.essbaselabs.com/2018/06/how-to-perform-allocation-with-mdx.html" target="_blank">Blog Two</a><br />
<br />
I'd like to point out that I haven't tried playing around the two essbase.cfg settings above. In OAC it seems you set config settings at an application level and these two settings are not available in the interface (as of 7/14/2019). You can telnet into the OAC server and update the essbase.cfg file. I plan to do that at some point.<br />
<br />
<h3>
<span style="color: blue;">Starting Simply</span></h3>
The syntax for MDX Insert is as follows:<br />
<br />
<b>INSERT</b><br />
<br />
<i>source tuple</i> <b>TO</b> <i>target tuple</i><target tuple=""></target><br />
<br />
<b>INTO</b><br />
<br />
App.Db<br />
<br />
<b>FROM</b><br />
<br />
(<br />
<br />
<i>MDX Select statement goes here</i><put here="" mdx="" select="" statement="" your=""></put><br />
<br />
)<br />
<br />
<br />
<h4>
From a high level point of view</h4>
1. You are writing an MDX select statement.<br />
2. You're using that to write data to another cell.<br />
<br />
Without using an MDX <b>With</b> section, the MDX Insert is only good for copying data from one place to another in a database.<br />
<br />
<h3>
<span style="color: blue;">First Example</span></h3>
<br />
This example is from the ASOSamp.Basic cube which is available for loading from the Application Gallery in OAC. (If you want to load the sample data you will need to copy that from the gallery into the ASOSamp.Basic file folder then perform a load job -- no load rule is necessary.)<br />
<br />
In the MDX script editor in the OAC interface I created the following script.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwAJPat3tieL_F2WVrXJxY6RRIQIhMT2QMmK352pK_-yARRCIFY0HT5FsWDBjXOeHIAvQYcFyszYX1fnuDYF78LkzfGc3WkcJXreP4Pz50xnyVghPIBjUoYtIFDsYRo26sUhjtn_TZWmH7/s1600/PartTwoC.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="165" data-original-width="794" height="131" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwAJPat3tieL_F2WVrXJxY6RRIQIhMT2QMmK352pK_-yARRCIFY0HT5FsWDBjXOeHIAvQYcFyszYX1fnuDYF78LkzfGc3WkcJXreP4Pz50xnyVghPIBjUoYtIFDsYRo26sUhjtn_TZWmH7/s640/PartTwoC.jpg" width="640" /></a></div>
<br />
Here I'm selecting a single cell specified by the following tuple on the rows:<br />
([13118],[056098],[Digital Cameras],[Under 20,000],[20 to 25 Years],[No Promotion],[Cash],[Sale],[Jan],[Original Price])<br />
<br />
On the columns I'm selecting [Curr Year]. The column tuple seems to be the source or left side of the equation. I map this into [Prev Year] in the INSERT section.<br />
<br />
I can run this query a number of different ways.<br />
1. As a job in the OAC web interface.<br />
2. From Smart View under <u>Manage & Execute Queries</u><i>. Note that it does not show you the scripts available from ASO cubes. You'd need to copy and paste the MDX Insert statement into the query editor. What's interesting is that if you had created this MDX Insert statement in a BSO cube, Smart View would recognize it as a calc script. So if you were to click the Calculate button, it would show you the classic Essbase calc scripts <u>AND</u> any MDX Insert scripts you had created on the server. I think we need this functionality for ASO.</i><br />
3. MaxL<br />
4. I assume Rest API (though I haven't tested it)<br />
I don't see a way of using the CLI to run this.<br />
<br />
<h4>
Here's the before:</h4>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVOGhtuoT56z_8nu7TmGYMaNHVjhw1sQv7M0hQCEBn8Z_lsI3n1XOVb9gV5i9RUUSSpNtmZ5fZtAjrtZMAbXYqdmqAMvAItmJgn1f4BXxaoE7m3AuoIYGDcAmlFezPVcFRZvpAlKPwiWVV/s1600/PartTwoA.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="108" data-original-width="1207" height="56" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVOGhtuoT56z_8nu7TmGYMaNHVjhw1sQv7M0hQCEBn8Z_lsI3n1XOVb9gV5i9RUUSSpNtmZ5fZtAjrtZMAbXYqdmqAMvAItmJgn1f4BXxaoE7m3AuoIYGDcAmlFezPVcFRZvpAlKPwiWVV/s640/PartTwoA.jpg" width="640" /></a></div>
<br />
<h4>
And the after:</h4>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqEh6iz9moUicY4m1apjC4zojP5_eZO8FtD5o1Ab0JrM3JHGVOAGr4s_K1bfgpuADOTV-P6pZSbpy10KzCdZdTqV2y7b9_NWfB2_zume0VFE7sk2N_XQmtxe0f0RyUoKTLtNM8kKlDVwvK/s1600/PartTwoB.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="100" data-original-width="1205" height="52" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqEh6iz9moUicY4m1apjC4zojP5_eZO8FtD5o1Ab0JrM3JHGVOAGr4s_K1bfgpuADOTV-P6pZSbpy10KzCdZdTqV2y7b9_NWfB2_zume0VFE7sk2N_XQmtxe0f0RyUoKTLtNM8kKlDVwvK/s640/PartTwoB.jpg" width="640" /></a></div>
<div>
<br /></div>
<h3>
<span style="color: blue;">What Does Not Work</span></h3>
<h4>
From One Into Another</h4>
The way the syntax is written, it looks like you should be able to specify different databases for the INTO and SELECT statements. I tried. Sadly it didn't work. I did mention this to someone at Oracle who told me there weren't any immediate plans to add this functionality. It would be pretty cool though. Imagine if you <i>couldn't</i> do that in SQL?<br />
<br />
<b>INSERT #MISSING</b><br />
If I switch the MDX Insert statement above so that my SELECT has [Prev Year] and the INSERT section has "([Prev Year])" TO "([Curr Year])" when Previous Year values, the Curr Year value will not be overwritten. This is the same behavior you would see when using Execute Allocation or Execute Calculation commands with an ASO cube. A load of #MISSING into an ASO cube will not overwrite an existing value. In the past I've used logical clear statements ahead of ASO procedural calcs when I though there might be an issue with overwriting values. For example, if Actuals data needs to overwrite Forecast data.<br />
<br />
<h3>
<span style="color: blue;">Under the Covers</span></h3>
<div>
I assume what is happening here is that the SELECT statement is generating a dataset. That dataset is then being loaded into the cube as a new slice. When I ran this calc an incremental slice was created. This is what the documentation says on the matter:</div>
<div>
<i>During execution of the MDX Insert query, an output buffer is created in memory which accumulates with values until the query is completed.</i></div>
<br />
<h4>
Appendix</h4>
MDX Script for easy copy and paste:<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> INSERT "([Curr Year])" TO "([Prev Year])"
INTO [ASOSamp].[Basic]
FROM (
SELECT
{[Curr Year]} on COLUMNS,
{([13118],[056098],[Digital Cameras],[Under 20,000],[20 to 25 Years],
[No Promotion],[Cash],[Sale],[Jan],[Original Price])} on ROWS
FROM ASOSamp.Basic
)
</code></pre>
TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-62538501813792486622019-07-08T10:04:00.001-05:002019-07-08T10:04:33.653-05:00MDX Insert Part One<br />
<div class="MsoNormal">
<span style="color: #454545; mso-fareast-font-family: "Times New Roman";">This is important. Really, really, really important. If you’re
using Essbase in the cloud you now have the capability of writing MDX Insert
statements. (You'll get this capability on-prem with the 19c release) You can write these against both ASO and BSO cubes. MDX inserts are
essentially calc scripts. I’m going to spend some time blogging about them in
the future weeks and months. I’ll start out with a brief introduction today.</span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="color: #454545; mso-fareast-font-family: "Times New Roman";">Let’s start with a history of procedural calculations in
ASO.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: #454545; mso-fareast-font-family: "Times New Roman";"><br /></span></div>
<div class="MsoNormal">
<span style="color: #454545; mso-fareast-font-family: "Times New Roman";"><b>Initially</b></span></div>
<div class="MsoNormal">
<span style="color: #454545;">When ASO was introduced it wasn't good for much. You were really limited in what you could use it for. Basically loading a large amount of data and adding it up. You could add some formulas but they were slow and couldn't be added outside of certain dimensions. If you wanted a procedural calculation done, you needed to make sure that was done before the data was loaded.</span></div>
<div class="MsoNormal">
<span style="color: #454545;"><br /></span></div>
<div class="MsoNormal">
<span style="color: #454545;"><b>And then</b></span></div>
<div class="MsoNormal">
<span style="color: #454545; mso-fareast-font-family: "Times New Roman";"><o:p>I first started reading about ASO procedural calculations around 2011. I gave them a try in early 2012 and failed miserably. The documentation was difficult to understand and they just didn't seem to work for me. I had heard similar things from other consultants at the time so I gave up.</o:p></span></div>
<div class="MsoNormal">
<span style="color: #454545; mso-fareast-font-family: "Times New Roman";"><o:p><br /></o:p></span></div>
<div class="MsoNormal">
<span style="color: #454545; mso-fareast-font-family: "Times New Roman";"><o:p><b>And then</b></o:p></span></div>
<div class="MsoNormal">
<span style="color: #454545; mso-fareast-font-family: "Times New Roman";"><o:p>I started working for a large retailer who had a BSO cube with a 3,000 line calc script for running allocations. The BSO cubes (they were partitioned so there was one for each year) first needed to be aggregated, then the allocations were run, and finally the cubes were aggregated again. Total batch time was about four hours and it was killing us. This was a mission critical cube and it wasn't available until 10AM or later some days. So I started to investigate ASO procedural allocations again. I was encouraged by my manager at the time to try them out on this beast. It took a couple of weeks but I got to the point where I had a proof of concept and worked through most of the technical hurdles -- dealing with dynamic and shared members were among the most challenging. Then it was just a matter of spending a couple of weeks heads down translating the calculations from BSO to ASO. I used "Execute Allocation" and "Execute Calculation" commands. I've blogged about these in the past and have presented at a few Kscope conferences on how to use these.</o:p></span></div>
<div class="MsoNormal">
<span style="color: #454545; mso-fareast-font-family: "Times New Roman";"><o:p><br /></o:p></span></div>
<div class="MsoNormal">
<span style="color: #454545; mso-fareast-font-family: "Times New Roman";"><o:p>After the dust settled I had taken a four hour batch process across several BSO cubes and moved it to a single ASO cube that took 10 minutes to run from start to finish. On top of that, the users could get these allocations run during the day in less than two minutes. I've been around Essbase 21 years and I have never seen such performance gains. The users were nonplussed.</o:p></span></div>
<div class="MsoNormal">
<span style="color: #454545; mso-fareast-font-family: "Times New Roman";"><o:p><br /></o:p></span></div>
<div class="MsoNormal">
<span style="color: #454545; mso-fareast-font-family: "Times New Roman";"><o:p>I'm disappointed when I hear people who are hesitant to try using ASO. I've worked in this space a long time and I've gotten to the point where there is almost no use case where I'd choose BSO over ASO. ASO is so much more scalable. You just need to learn MDX.</o:p></span></div>
<div class="MsoNormal">
<span style="color: #454545; mso-fareast-font-family: "Times New Roman";"><o:p><br /></o:p></span></div>
<div class="MsoNormal">
<span style="color: #454545; mso-fareast-font-family: "Times New Roman";"><o:p><b>And finally</b></o:p></span></div>
<div class="MsoNormal">
<span style="color: #454545; mso-fareast-font-family: "Times New Roman";"><o:p>The MDX Insert statement makes life so much simpler. You can use the same language against an ASO and BSO cube. You don't have to worry about dealing with dynamic and shared members the way you did in Execute Calculation and Execute Allocation scripts. You can run them in Smart View. You can write complex calculations. You can write simple calculations. In my initial performance tests, I saw a 30% improvement compared to Execute Calculation and Execute Allocation. The real test, which I intend to do, is to compare BSO and ASO procedural calc performance.</o:p></span></div>
<div class="MsoNormal">
<span style="color: #454545; mso-fareast-font-family: "Times New Roman";"><o:p> </o:p></span><span style="color: #454545;"> </span></div>
<div class="MsoNormal">
<span style="color: #454545; mso-fareast-font-family: "Times New Roman";">This is the next big step for Essbase. It makes it a more mature
and "database-like" technology. Essbase now resides within the database group at
Oracle. <i>This is starting to make sense.</i> Moving toward a more standard, less proprietary language is definitely a move in the right direction.</span></div>
<div class="MsoNormal">
<span style="color: #454545; mso-fareast-font-family: "Times New Roman";"><br /></span></div>
<div class="MsoNormal">
<span style="color: #454545; mso-fareast-font-family: "Times New Roman";"><b>And next</b></span></div>
<div class="MsoNormal">
<span style="color: #454545; mso-fareast-font-family: "Times New Roman";">I'm going to cover several examples using MDX in the coming weeks. I'll start off simply and build on that. If you have any specific uses cases you're curious about, send them my way and I'll do my best to tackle them.</span></div>
TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-85074388421526589752019-07-01T07:51:00.001-05:002019-07-01T07:51:39.092-05:00Kscope19 ReflectionsI wanted to take a few minutes to reflect back on what was an exciting, invigorating, and exhausting Kscope19. It started for me on Saturday morning with a trip to the <a href="https://livingcomputers.org/" target="_blank">coolest museum on the planet</a> where I programmed an Altair and ended with an <a href="https://appliedolap.com/" target="_blank">Applied OLAP</a> team lunch on Thursday afternoon. I barely had a chance to sleep in between. I'm not going to get into the details on any one thing but want to cover a few important topics that make Kscope such a great conference.<br />
<br />
<b>People</b><br />
This is by far the best aspect of the Kscope conferences. It was great to be a part of the Applied OLAP team this year. We had 10 attendees! Putting faces to names, seeing people I hadn't seen in years (in one case 15 years!) was a real joy for me. The nightly activities including Applied OLAP's night at the <a href="https://www.seattleaquarium.org/" target="_blank">Seattle Aquarium</a> and the Wednesday night <a href="https://www.mopop.org/" target="_blank">MoPOP</a> event and <a href="https://www.amberseattle.com/" target="_blank">after party</a> were a total blast.<br />
<br />
<b>Technical Content</b><br />
Being able to interact and listen to the brightest minds in our field can be done nowhere else. I got a chance to speak with Oracle product management about new features in Essbase. I was able to present on BSO Solve Order and the new MDX Insert statement. These are the kinds of things that get me really fired up. I love helping to push things forward. I was also able to present a demonstration of Essbase parallel queries in our Dodeca product at our Sunday Symposium. This could be a game changing technology allowing multiple Essbase queries to be run by a single user simultaneously. I'll be posting more about this in the future.<br />
<br />
<b>Personal Growth</b><br />
The fact is that presenting at a conference can be difficult. I tend to over prepare which hopefully benefits the people sitting in my presentations as well as me. Preparing a presentation takes a lot of time and hard work. It forces me to be better. I encourage others to try it if they haven't done it before. It is a very valuable skill to have. I'm already starting the process of thinking about abstract submissions for Kscope20. I will see everyone in Boston next year!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgI30tO2qMQmdPCziUFIoVWknvxVyfwSHGRnRn3u2A5lMHpgmIzNlFE8PogfIrOjq6uxoy-hEBrs2SiWSsDeUzBMSQwU9-ZDqO1ZcxSqdU8eeYuUDK_js6xDxlD1LGDQREBY2GH17QpbrFu/s1600/kscope_lobster.jpeg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="1200" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgI30tO2qMQmdPCziUFIoVWknvxVyfwSHGRnRn3u2A5lMHpgmIzNlFE8PogfIrOjq6uxoy-hEBrs2SiWSsDeUzBMSQwU9-ZDqO1ZcxSqdU8eeYuUDK_js6xDxlD1LGDQREBY2GH17QpbrFu/s320/kscope_lobster.jpeg" width="240" /></a></div>
<br />
<br />TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-31395861596424261502019-06-07T08:40:00.000-05:002019-06-07T08:40:46.639-05:00A Funeral for the Two Pass Calc<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3qWQAZ0_ZPTRZlG2COIpJWgRWYyFVpDcxZ2aUQlQgq5FowpXh44YDU7CgmRhB5UQtI7Bo9XBtlh7obfFfrPvhjb8yhFp-JxhHnKLFTWzULCQfBjN1-IOYTi66exavf5jE2yna2726Ru-q/s1600/Kscope19.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="148" data-original-width="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3qWQAZ0_ZPTRZlG2COIpJWgRWYyFVpDcxZ2aUQlQgq5FowpXh44YDU7CgmRhB5UQtI7Bo9XBtlh7obfFfrPvhjb8yhFp-JxhHnKLFTWzULCQfBjN1-IOYTi66exavf5jE2yna2726Ru-q/s1600/Kscope19.png" /></a></div>
<h3>
</h3>
<h3>
<span style="color: blue;">New Session Added! BSO Solve Order!</span></h3>
<span style="font-family: inherit;">I'm happy to announce that I'll be <a href="https://kscope19.odtug.com/e/in/eid=32&s=2943&print=1&req=info" target="_blank">holding a funeral for the Two Pass Calc</a> in room 611 on Monday morning at 11AM. This is one of the new 30 minute sessions. I also plan to show off OAC live so come watch me nervously hope that the conference wifi is working. If you're planning to move from On-Prem Essbase to OAC soon you'll want to know all about BSO Solve Order.</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;"><br /></span>
<br />
<h3>
<span style="color: blue;">My other session is Wednesday at 9AM</span></h3>
<span style="font-family: inherit;"></span><span style="font-family: inherit;">I will to be speaking about <a href="https://kscope19.odtug.com/e/in/eid=32&s=2686&req=info" target="_blank">ASO Tuning and Calculations</a> (but mostly about Calculations). If you've been hesitant to try writing ASO calculations, please come to this session. There is a new way of performing ASO calcs in OAC which I will go over. I'll also be sharing my Top 10 list of <i><span style="color: red;">things never said by an Essbase developer</span></i>. Stop by and say hello at 9AM on Wednesday morning in room 609.</span><br />
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;"></span><br />
<h3>
<span style="font-family: inherit;">
<span style="color: blue;">Please visit me at the Applied OLAP Booth </span></span></h3>
<span style="font-family: inherit;">
<span style="font-family: inherit;"></span><span style="font-family: inherit;">Please stop by and say hello. I'm looking forward to meeting a lot of new people at Kscope this year.</span></span></div>
TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-22788904626019064722019-05-13T08:29:00.000-05:002019-05-13T08:29:59.644-05:00Happy 40th Birthday, VisiCalc!<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL5izBAcsCCATjVlxcjUB3rEUUYa3OIRCrroTqg8vKKpY3s14Xh9ne9uj8LvcB6a-xgaQdprUFS6qolPXAOyVZcBqgkIAe8XsjYHU9OAptGL8skaY9M3pL6JA1Oyn1jncBbFJO2KfFEEh5/s1600/visicalc2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="92" data-original-width="356" height="82" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL5izBAcsCCATjVlxcjUB3rEUUYa3OIRCrroTqg8vKKpY3s14Xh9ne9uj8LvcB6a-xgaQdprUFS6qolPXAOyVZcBqgkIAe8XsjYHU9OAptGL8skaY9M3pL6JA1Oyn1jncBbFJO2KfFEEh5/s320/visicalc2.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<h2 style="clear: both; text-align: left;">
<div class="MsoNormal">
<span style="background: white; color: #333333; font-family: "helvetica" , sans-serif; font-size: 10.0pt; line-height: 107%;">Visicalc, the first spreadsheet computer program for personal computers, made its debut at the </span><span style="background-color: white; color: #333333; font-family: "helvetica" , sans-serif; font-size: 10pt;">West Coast Computer
Faire in San Francisco on May 12, 1979. The innovative spreadsheet grid, still in use today and years ahead of its time was invented by <a href="https://en.wikipedia.org/wiki/Dan_Bricklin" target="_blank">Dan Bricklin</a>. It was described as "a </span><span style="color: #333333; font-family: "helvetica" , sans-serif; font-size: 13.3333px;">magic sheet of paper that can perform calculations and recalculations". VisiCalc was the original killer app. Many people bought $2,000 computers to run the $100 software. Happy Birthday!</span></div>
<div class="MsoNormal">
<span style="color: #333333; font-family: "helvetica" , sans-serif; font-size: 13.3333px;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIKq9zJN7NqFhLWnDx8hqk8H71JMVnpx0XiV7f045ygOt1twxwk03_nEid_c1GT3rAccAq-ouH2yv204b-2gVn34edyRKLw6ZVlraSjoaIic3v7OHn503KMuNiBIOA_tP0D5dAEBDW3xwC/s1600/visicalc.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="539" data-original-width="855" height="401" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIKq9zJN7NqFhLWnDx8hqk8H71JMVnpx0XiV7f045ygOt1twxwk03_nEid_c1GT3rAccAq-ouH2yv204b-2gVn34edyRKLw6ZVlraSjoaIic3v7OHn503KMuNiBIOA_tP0D5dAEBDW3xwC/s640/visicalc.jpg" width="640" /></a></div>
<div class="MsoNormal">
<span style="color: #333333; font-family: "helvetica" , sans-serif; font-size: 13.3333px;"><br /></span></div>
<div class="MsoNormal">
<o:p></o:p></div>
</h2>
<div>
<br /></div>
<div>
<br /></div>
<br />
<br />TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-27750662833704434572019-05-07T08:56:00.002-05:002019-05-07T10:45:06.407-05:00Getting Ready for Kscope19<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXKfeNUa-qxXoI7TqyGK6G_HAdtadfWUKBIdMz9WZHdT8YXK1Csb-3uBqe6pgs7GagyB8SCdBi61uQe5ZjQwGsJpDYF-gbzsEmlggPc-LEGBLydWonSqNZ5YVabpqsSjC2wA6GWCZY4lHk/s1600/ys3header.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="162" data-original-width="350" height="148" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXKfeNUa-qxXoI7TqyGK6G_HAdtadfWUKBIdMz9WZHdT8YXK1Csb-3uBqe6pgs7GagyB8SCdBi61uQe5ZjQwGsJpDYF-gbzsEmlggPc-LEGBLydWonSqNZ5YVabpqsSjC2wA6GWCZY4lHk/s320/ys3header.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="font-family: inherit;"><br /></span>
<br />
<h3>
<span style="color: blue;">Seattle, here I come!</span></h3>
<span style="font-family: inherit;">I'm really excited to be headed to Kscope19 in Seattle next month. I haven't been able to attend the last two years and I have really missed seeing everyone. Right now there are many people working feverishly to finish their presentations in order to bring you the best content available in our industry.</span><br />
<span style="font-family: inherit;"><br /></span>
<br />
<span style="font-family: inherit;"><br /></span>
<br />
<h3>
<span style="color: blue;">Long Live ASO</span></h3>
<span style="font-family: inherit;"></span>
<span style="font-family: inherit;">I will to be speaking about <a href="https://kscope19.odtug.com/e/in/eid=32&s=2686&req=info" target="_blank">ASO Tuning and Calculations</a>. If you've been hesitant to try writing ASO calculations, please come to this session. There is a new way of performing ASO calcs in OAC which I will go over. Oh, and I'll be sharing my Top 10 list of <i><span style="color: red;">things never said by an Essbase developer</span></i>. Stop by and say hello at 9AM on Wednesday morning in room 609.</span><br />
<span style="font-family: inherit;"><br /></span>
<br />
<h3>
<span style="color: blue; font-family: inherit;">Dodeca Rocks!</span></h3>
<span style="font-family: inherit;">If you want to find out how Dodeca can help your company, please attend one of our customer sessions. </span><span style="font-family: inherit;">Come hear how Dodeca is making an impact at </span><span style="background-color: white; color: #333333; font-family: inherit;">LexisNexis, Abbott and Kroger. Also, be sure to stop by our booth in the expo hall.</span><br />
<br />
<span style="font-family: inherit;"><span style="color: #333333; font-family: "open sans";"><span style="font-size: 14px;"><b><br /></b></span></span></span>
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><span style="font-family: inherit;"><a href="https://kscope19.odtug.com/e/in/eid=32&s=2678&req=info" target="_blank">A Journey Across the Kroger Enterprise Essbase Environment from the Grocery Store to the C-Suite Executive</a> </span></b><br />
<span style="color: #333333; font-family: inherit;"><span style="background-color: white; font-size: 14px;"><b>Come see how Kroger uses Dodeca to deliver Essbase data to 50,000 users!</b></span></span><br />
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><span style="font-weight: 400;"><span style="font-family: inherit;">Monday June 24 11:45 AM - 12:45 PM</span></span></b><br />
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><span style="font-weight: 400;"><span style="font-family: inherit;"><br /></span></span></b>
<span style="font-family: inherit;"><b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><a href="https://kscope19.odtug.com/e/in/eid=32&s=2627&req=info" target="_blank">Sleepless in Spreadsheets? Essbase…It’s Nice to Meet You!</a></b></span><br />
<span style="font-family: inherit;"><span style="background-color: white; color: #333333; font-family: "open sans"; font-size: 14px;"><b>How does going from ~140 Excel workbooks and ~400 Excel tabs to only 12 Essbase Dodeca views for the whole year sound?</b></span></span><br />
<span style="font-family: inherit;"><span style="background-color: white; color: #333333; font-family: inherit; font-size: 14px;">Monday June 24 2:15 PM - 3:15 PM</span></span><br />
<span style="font-family: inherit;"><span style="background-color: white; color: #333333; font-family: "open sans"; font-size: 14px;"><br /></span></span>
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><span style="font-weight: 400;"><span style="font-family: inherit;"></span></span></b>
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><a href="https://kscope19.odtug.com/e/in/eid=32&s=2685&req=info" target="_blank"><span style="font-family: inherit;">Streamlining DRM System Change Request Workflows for Oracle EPM Using Dodeca</span></a></b><br />
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><span style="font-family: inherit;">Hear how LexisNexis cut the time required to process change in their EPM environment in half, while improving quality and ensuring they pass Sarbanes Oxley (SOX) audits.</span></b><br />
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><span style="font-weight: 400;"><span style="font-family: inherit;">Tuesday June 25 3:45 PM - 4:45 PM</span></span></b><br />
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><span style="font-weight: 400;"><span style="font-family: inherit;"><br /></span></span></b>
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><b style="box-sizing: border-box;"><a href="https://kscope19.odtug.com/e/in/eid=32&s=2698&req=info" target="_blank"><span style="font-family: inherit;">Trials and Tribulations</span></a></b></b><br />
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><b style="box-sizing: border-box;"><span style="font-family: inherit;">Find out how Abbott used Dodeca, a new ASO Essbase cube, and simple SQL to replace two expensive and un-scalable systems with a powerful platform for modeling clinical studies based on changing assumptions and drivers.</span></b></b><br />
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><b style="box-sizing: border-box;"><span style="font-weight: 400;"><span style="font-family: inherit;">Tuesday June 25 3:45 PM - 4:45 PM</span></span></b></b><br />
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><span style="font-weight: 400;"><span style="font-family: inherit;"><br /></span></span></b>
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><b style="box-sizing: border-box;"><a href="https://kscope19.odtug.com/e/in/eid=32&s=2922&req=info" target="_blank"><span style="font-family: inherit;">Applied OLAP: Dodeca Customer Panel - Dodeca Does It! (Again…and again…and again…)</span></a></b></b><br />
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><b style="box-sizing: border-box;"><span style="font-family: inherit;">Listen to testimonials by some of our customers about how Dodeca is changing their organizations for the better.</span></b></b><br />
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><b style="box-sizing: border-box;"><span style="font-weight: 400;"><span style="font-family: inherit;">Tuesday June 25 10:15 AM - 11:15 AM</span></span></b></b><br />
<span style="font-family: inherit;"><b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><b style="box-sizing: border-box;"><span style="font-weight: 400;"><br /></span></b></b></span>
<span style="font-family: inherit;"><b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><b style="box-sizing: border-box;"><span style="font-weight: 400;"><br /></span></b></b></span>
<br />
<h3>
<span style="color: blue; font-family: inherit;">Sunday, Sunday, Sunday!</span></h3>
<h3>
</h3>
<span style="font-family: inherit;">I also want to point out our <a href="https://kscope19.odtug.com/page/other-sunday-symposium" target="_blank">Sunday Dodeca Symposium</a>. This will be held on Sunday afternoon, starting at 1PM in room 609. You will hear about all of the new and exciting features in Dodeca and how they are increasing productivity for our customers.</span><br />
<span style="font-family: inherit;"><br /></span>
<br />
<span style="font-family: inherit;"><br /></span>
<br />
<h3>
<span style="color: blue;">Applied OLAP Experts Live Talking about things other than our products</span></h3>
<span style="font-family: inherit;"><span style="color: #333333;"><span style="background-color: white;">Finally, the following sessions are led by technical experts at Applied OLAP with a focus on EPM related technologies.</span></span><span style="color: #333333;"><span style="background-color: white; font-size: 14px;"><br /></span></span></span><br />
<span style="font-family: inherit;"><span style="color: #333333;"><span style="background-color: white;"><br /></span></span></span>
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><a href="https://kscope19.odtug.com/e/in/eid=32&s=2920&req=info" target="_blank"><span style="font-family: inherit;">30-Minute Session: Drill Through Your Essbase and Planning Data with APEX Interactive Reports</span></a></b><br />
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><span style="font-weight: 400;"><span style="font-family: inherit;">Monday June 24 11:00 AM - 11:30 AM</span></span></b><br />
<span style="font-family: inherit;"><br /></span>
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><b style="box-sizing: border-box;"><b style="box-sizing: border-box;"><a href="https://kscope19.odtug.com/e/in/eid=32&s=2630&req=info" target="_blank"><span style="font-family: inherit;">Introduction to Essbase MDX for Reporting</span></a></b></b></b><br />
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><b style="box-sizing: border-box;"><b style="box-sizing: border-box;"><span style="font-weight: 400;"><span style="font-family: inherit;">Tuesday June 25 11:45 AM - 12:45 PM</span></span></b></b></b><br />
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><span style="font-weight: 400;"><span style="font-family: inherit;"><br /></span></span></b>
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><b style="box-sizing: border-box;"><a href="https://kscope19.odtug.com/e/in/eid=32&s=2631&req=info" target="_blank"><span style="font-family: inherit;">Up & Running with the OAC Essbase REST API</span></a></b></b><br />
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><b style="box-sizing: border-box;"><span style="font-weight: 400;"><span style="font-family: inherit;">Tuesday June 25 2:15 PM - 3:15 PM</span></span></b></b><br />
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><b style="box-sizing: border-box;"><span style="font-weight: 400;"><span style="font-family: inherit;"><br /></span></span></b></b>
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><b style="box-sizing: border-box;"><b style="box-sizing: border-box;"><a href="https://kscope19.odtug.com/e/in/eid=32&s=2700&req=info" target="_blank"><span style="font-family: inherit;">Docker & Essbase: Bring the Cloud to You</span></a></b></b></b><br />
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><b style="box-sizing: border-box;"><b style="box-sizing: border-box;"><span style="font-weight: 400;"><span style="font-family: inherit;">Wednesday June 26 10:15 AM - 11:15 AM</span></span></b></b></b><br />
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><b style="box-sizing: border-box;"><b style="box-sizing: border-box;"><span style="font-weight: 400;"><span style="font-family: inherit;"><br /></span></span></b></b></b>
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><b style="box-sizing: border-box;"><b style="box-sizing: border-box;"><b style="box-sizing: border-box;"><a href="https://kscope19.odtug.com/e/in/eid=32&s=2633&req=info" target="_blank"><span style="font-family: inherit;">Congratulations on Your Shiny New Oracle Analytics Cloud Essbase Account! Now What Do You Do?</span></a></b></b></b></b><br />
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><b style="box-sizing: border-box;"><b style="box-sizing: border-box;"><b style="box-sizing: border-box;"><span style="font-weight: 400;"><span style="font-family: inherit;">Wednesday June 26 9:00 AM - 10:00 AM</span></span></b></b></b></b><br />
<b style="background-color: white; box-sizing: border-box; color: #333333; font-size: 14px;"><b style="box-sizing: border-box;"><b style="box-sizing: border-box;"><span style="font-weight: 400;"><span style="font-family: inherit;"><br /></span></span></b></b></b>
<b style="background-color: white; box-sizing: border-box; color: #333333; font-family: "Open Sans"; font-size: 14px;"><b style="box-sizing: border-box;"><b style="box-sizing: border-box;"><span style="font-weight: 400;"><br /></span></b></b></b>
<b style="background-color: white; box-sizing: border-box; color: #333333; font-family: "Open Sans"; font-size: 14px;"><b style="box-sizing: border-box;"><span style="font-weight: 400;"><br /></span></b></b>
TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-87670788393086722712019-04-01T11:15:00.001-05:002019-04-01T11:15:46.672-05:00Collaborate 19<div class="separator" style="clear: both; text-align: center;">
<a href="https://collaborate.oaug.org/" target="_blank"><img border="0" data-original-height="526" data-original-width="1350" height="155" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGWUHHY-CyOoAURnpOHSD-8NQaFTDYP7cTDRaRKLPYC0mzFGxOgzq4iiDKaQe-rJ8naokO7EdwzsITGUGENr0WgS9E1SHLh-s3qzCGYBET3a9TR13XPTOd2N_HevGkycGPYUBKvESWjq-M/s400/COLLABORATE-19-Horizontal-Logo.png" width="400" /></a></div>
<h3>
<span style="font-family: inherit; font-size: large; font-weight: normal;">I wanted to let everyone know that my colleague <a href="https://www.jasonwjones.com/" target="_blank">Jason Jones</a> will be speaking at Collaborate19 in San Antonio on April 7th and 10th. He is giving two great presentations on a couple of really current topics.</span></h3>
<h3>
<span style="font-family: inherit; font-size: large; font-weight: normal;">The first is <a href="https://app.attendcollaborate.com/event/member/544995" target="_blank">Up & Running with the OAC Essbase REST API</a>. This session will help you get started automating your Essbase cloud environment.</span></h3>
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;"><span style="background-color: white; box-sizing: border-box; color: #343a40; font-weight: bolder;">Abstract:</span><span style="background-color: white; color: #343a40;"> Oracle's Essbase Cloud offering introduces a new and modern REST API in addition to its traditional Java API. The new REST API opens up many development, integration, and automation capabilities and differs greatly from the traditional API. This session will introduce the REST API, exploring how it's similar to and different from traditional APIs. We’ll also cover some real-world examples and how to get started with development.</span></span><br />
<span style="color: #343a40; font-family: inherit;"><b>Time: </b>3:00 PM–4:00 PM Apr 7, 2019</span><br />
<span style="color: #343a40;"><span style="font-family: inherit;"><b>Location: </b>CC 2ND FL 214C</span></span><br />
<span style="color: #343a40; font-family: inherit;"><br /></span>
<br />
<h3>
<span style="font-family: inherit; font-size: large; font-weight: normal;">The second is <a href="https://app.attendcollaborate.com/event/member/544996" target="_blank">Docker & Essbase - Bring the Cloud to You</a>. This session will teach you about using Docker to create an Essbase server. I love using Essbase in Docker. Gone are the days of lengthy and complicated Essbase installations or running slow virtual machines. I use Essbase in Docker everyday and it's improved my productivity tremendously.</span></h3>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;"><span style="background-color: white; box-sizing: border-box; color: #343a40; font-weight: bolder;">Abstract:</span><span style="background-color: white; color: #343a40;"> Docker is a modern technology for rapidly deploying and containerizing servers both on-premise and on the cloud. This presentation will introduce the Docker technology in a practical way, exploring interesting Essbase/EPM use cases in which Docker can be used to open up and enhance infrastructure, development, and testing in EPM organizations of any size.</span></span></div>
<div>
<span style="font-family: inherit;"><span style="background-color: white; color: #343a40;"><b>Time:</b> </span><span style="color: #343a40;">4:30 PM–5:30 PM Apr 10, 2019</span></span></div>
<div>
<span style="font-family: inherit;"><span style="background-color: white; color: #343a40;"><b>Location: </b></span><span style="color: #343a40;">CC 2ND FL 217D</span></span></div>
<br />TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-2725894798300321802019-03-21T08:32:00.001-05:002019-03-21T08:33:14.457-05:00Dodeca Essbase Outline Viewer<span style="background-color: white; color: rgba(0 , 0 , 0 , 0.9); font-family: , , "blinkmacsystemfont" , "segoe ui" , "roboto" , "helvetica neue" , "fira sans" , "ubuntu" , "oxygen" , "oxygen sans" , "cantarell" , "droid sans" , "apple color emoji" , "segoe ui emoji" , "segoe ui emoji" , "segoe ui symbol" , "lucida grande" , "helvetica" , "arial" , sans-serif; font-size: large; white-space: pre-wrap;">Dodeca allows you to easily give users the ability to view Essbase outlines. Watch this video for a quick demo then check out <a href="https://www.jasonwjones.com/2017/10/my-favorite-new-dodeca-7-3-feature-outline-viewer/" target="_blank">Jason Jones' blog about how to set it up</a>.</span><br />
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='960' height='798' src='https://www.blogger.com/video.g?token=AD6v5dzPuRjp15W9kt16Ovab6RuGw-bplOu6vE3sUIqUSXtLqmdPMkg1hTu6wdMjeJqIMzC-cUAQjA1lSrCuz-fZQw' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<div>
<br /></div>
TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-24785163317897426142019-03-13T09:24:00.001-05:002019-03-13T09:25:54.717-05:00OAC Next Generation Outline Extractor<span style="font-size: large;">The Oracle Analytics Cloud (OAC) Next Generation Outline Extractor is now available for download from the <a href="https://appliedolap.com/resources/downloads/next-generation-outline-extractor" target="_blank">Applied OLAP website</a>. I've also added a few tips for using it.</span><br />
<span style="font-size: large;"><br /></span>
<span style="font-size: large;"><b>Background</b></span><br />
<br />
<ul>
<li><span style="font-size: large;">For those unaware, Applied OLAP supports a free utility for extracting Essbase outlines. The utility is simple to install and use. I've used it many times over the years. One client of mine used it to extract dimensions so they could be compared to the source relational tables during UAT saving many hours of work.</span></li>
</ul>
<div>
<span style="font-size: large;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLsT1U6YEU1hKCLSes4FZwnsiGj4bwVnH8MvXyb2Ay7wd44v56KMDwLsLtMNW2uzpNeO834XffcSyqzC4wvLHA0RsNTsEfRAH8AJ725TQvdUeNDah9arRyr_p9xTvLoq4VU5_9py5_1UcH/s1600/applied-olap-logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="44" data-original-width="400" height="35" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLsT1U6YEU1hKCLSes4FZwnsiGj4bwVnH8MvXyb2Ay7wd44v56KMDwLsLtMNW2uzpNeO834XffcSyqzC4wvLHA0RsNTsEfRAH8AJ725TQvdUeNDah9arRyr_p9xTvLoq4VU5_9py5_1UcH/s320/applied-olap-logo.png" width="320" /></a></div>
<div>
<span style="font-size: large;"><br /></span></div>
<div>
<span style="font-size: large;"><br /></span></div>
<br />
<span style="font-size: large;"><b>Version</b></span><br />
<ul>
<li><span style="font-size: large;">On your OAC interface page, click on your name in the top right corner. Then select <b>About</b>. Download the version of the Outline Extractor that corresponds to your cloud version. In this case the version is 12.2.1.1.114.</span></li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghhYFTfWwa3bCV_E-dlnEyt4_7GRbVBJuFuqPG1G4YMgcZYfmJGVdyulDsRQeWA-16LhW8aDL8r8dUianavwmO1U_L6cDeSnjgd8L6AboLUATg_k0lccK3grXnz4BHC3JYeQMcLnqcrrvp/s1600/Version0.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-size: large;"><img border="0" data-original-height="228" data-original-width="203" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghhYFTfWwa3bCV_E-dlnEyt4_7GRbVBJuFuqPG1G4YMgcZYfmJGVdyulDsRQeWA-16LhW8aDL8r8dUianavwmO1U_L6cDeSnjgd8L6AboLUATg_k0lccK3grXnz4BHC3JYeQMcLnqcrrvp/s1600/Version0.jpg" /></span></a></div>
<br />
<span style="font-size: large;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNhSc6Fw8l17MX_Kawkj3RksoxYJX84oM5ANA-iPMrQOrQsUbao3PLXDEl-CtYrNzkUk5dtbm3tLSsf1-jdJgHKSaZQTnL9316cbM7USH1izO7gtu00ctFgKyPPYJAkr3VxWrLwZzy-zQ9/s1600/Version.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-size: large;"><img border="0" data-original-height="279" data-original-width="770" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNhSc6Fw8l17MX_Kawkj3RksoxYJX84oM5ANA-iPMrQOrQsUbao3PLXDEl-CtYrNzkUk5dtbm3tLSsf1-jdJgHKSaZQTnL9316cbM7USH1izO7gtu00ctFgKyPPYJAkr3VxWrLwZzy-zQ9/s640/Version.jpg" width="640" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: large;"><br /></span></div>
<br />
<span style="font-size: large;"><b>Source</b></span><br />
<br />
<ul>
<li><span style="font-size: large;">Using the Essbase API will result in many calls to the server and could be very slow. Instead, on the Input Source choose "Extract and Process MaxL Outline XML".</span></li>
</ul>
<br />
<span style="font-size: large;"><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheL-1aOhm_KXLngE61yYIyr7u8zkx8DB_TMnomU2ALO6W5Mu3yCdIlrcmDk0E6u9qSdsBWBcINe5GsqkBRN_aF700UoZ0itqIuv5xTUv9YjW4fZAmLLkC6G427Bk-h3FV0uadSet09iQn0/s1600/Cloud_NextGen.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-size: large;"><img border="0" data-original-height="554" data-original-width="729" height="484" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheL-1aOhm_KXLngE61yYIyr7u8zkx8DB_TMnomU2ALO6W5Mu3yCdIlrcmDk0E6u9qSdsBWBcINe5GsqkBRN_aF700UoZ0itqIuv5xTUv9YjW4fZAmLLkC6G427Bk-h3FV0uadSet09iQn0/s640/Cloud_NextGen.jpg" width="640" /></span></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: large;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-size: large;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-size: large;"><b>Connection</b></span></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<ul>
<li><span style="font-size: large;">When making a connection, use the URL that you use in your browser to connect to the OAC interface. After the 'essbase' part of the URL place '/japi' just like you see below. Then enter your Username and Password.</span></li>
</ul>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1pUkKKgFCNk2ZpmL7Cr66iKNLyRXx6CFuzq7DVx0ZHokMCJi7bmdZu6CW8OpBs_00grtdQaWW9CE8mrMJvEXAqI6yNd0_N1Lhgg1UcFVh_-RJgfGO_KQGjNLUagG5XmI4kQjfdkUVpnt1/s1600/connection.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-size: large;"><img border="0" data-original-height="158" data-original-width="729" height="138" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1pUkKKgFCNk2ZpmL7Cr66iKNLyRXx6CFuzq7DVx0ZHokMCJi7bmdZu6CW8OpBs_00grtdQaWW9CE8mrMJvEXAqI6yNd0_N1Lhgg1UcFVh_-RJgfGO_KQGjNLUagG5XmI4kQjfdkUVpnt1/s640/connection.jpg" width="640" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: large;"><br /></span></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-size: large;">As always, let us know if you have any issues at <a href="mailto:Support@AppliedOlap.com">Support@AppliedOlap.com</a>.</span></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-32960339826370662432019-03-11T07:15:00.000-05:002019-03-11T07:21:23.332-05:00Cascade Reporting in Dodeca<b id="docs-internal-guid-cb0208f5-7fff-c03e-d67b-9fdc6164a218" style="font-weight: normal;"><br />
</b> <br />
<h4 style="line-height: 1.38; margin-bottom: 4pt; margin-top: 14pt;">
Cascade reports are multiple reports that show a standard template from different points of view. This post will show how to create a Dodeca Cascade Report using an MDX script to choose the intersections. </h4>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='960' height='798' src='https://www.blogger.com/video.g?token=AD6v5dwUhN_pNZwT3BZOV_ec0qaDbL0BB9fMUzj_nkYcl-VR5w7vXZy6u5A6QgNQwChqjJhAt8qkJCPoWuySBmB2JA' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<div>
<br /></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://blogappliedolap.files.wordpress.com/2019/03/e82ct_1.jpg" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: normal;"><img alt=" Cascade reports are multiple reports that show a standard template from a different points of view. This post will show how to create a Dodeca Cascade Report using an MDX script to choose the intersections." height="536" src="https://lh4.googleusercontent.com/9y_GselWGDafLe5qSCyiHRE6e-_3FDW35PMyeAK6CRMVq23nsGkFdyjYHx3enm4g2L3cmXIgglfaLHOkNnCg1YYuTkuHiFpBx_GLQLjepCyEVfczrUqIZtlGi7a_9yWN5GX0PO6l" style="border: none; transform: rotate(0rad);" width="624" /></span></a></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<br /></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://blogappliedolap.files.wordpress.com/2019/03/e82ct_2.jpg" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: normal;"><img alt=" I started with a template that shows scenarios and a single roll-up account: EBITDA. This account will be automatically zoomed into to create our final report. Using a roll-up will ensure that any account changes are reflected our report without needing future maintenance.
I also added tokens for Periods, Location, Departments and Years. I added an Excel formula using simple subtraction to find the previous year." height="193" src="https://lh5.googleusercontent.com/8fK9ZPr4HFgrmJiEV4xHX5jCjwg6wDsLMn3NOn8U2ER-Xje__Ur_oAb5J4qY50xKQ1hlcTiIlxgEmJf861w5o_ZNEfWTxIfJ1_9gv-j6viLyLCW2mLmf7QbQ8adlYxh6VQvSdih0" style="border: none; transform: rotate(0rad);" width="640" /></span></a></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I started with a template that shows scenarios and a single roll-up account: EBITDA. This account will be automatically zoomed-in to create our final report. Using a roll-up will ensure that any account changes are reflected in our report without needing future maintenance.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I also added tokens for Periods, Location, Departments and Years. I added an Excel formula using simple subtraction to find the previous year.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://blogappliedolap.files.wordpress.com/2019/03/e82ct_3.jpg" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: normal;"><img alt=" I added two named ranges. One for the Essbase retrieve and another for the cell on which the zoom-in will be performed." height="411" src="https://lh4.googleusercontent.com/C09B9NxheKYppKccy0HtdNga0rgsrKgD815MBoad3BPLqkCJnAbK0KsmeGV8_R0uIpOvyQvqsknGCREWuRhitlkBOt9sNmgQW-9qeKfr-c0JiPmRbOzRwhOTYUussOBFwEZWDubs" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="624" /></span></a></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I added two named ranges. One for the Essbase retrieve and another for the cell on which the zoom-in will be performed.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://blogappliedolap.files.wordpress.com/2019/03/e82ct_4.jpg" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: normal;"><img alt=" I hid the header rows and saved the template." height="149" src="https://lh4.googleusercontent.com/yltxolkiy8fO7-iFkRiEoMXHxLsrILsSLJmApdGTX7zDc0x7ZKRpP7aUEU2tk3ysZh9_AG_39NZPFn1H6bM39y1PDlfemetqRKgNK-pRNLqfM6RfD2XcE4qToHOXDRo83dH-1u9w" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="624" /></span></a></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I hid the header rows and saved the template.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://blogappliedolap.files.wordpress.com/2019/03/e82ct_5.jpg" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: normal;"><img alt=" Next I created an Essbase MDX Script called PaloMartCascade.
I used the Crossjoin() function to create my column headers of Periods and Scenarios.
I also used the Crossjoin() function to pull all level zero members under the user selected Department and Location.
Note the use of the NON EMPTY keyword here. Using this will ensure that no sheet will be generated for any missing or irrelevant intersections." height="311" src="https://lh6.googleusercontent.com/Mf6_KxNc8aL9myapSo-Rl7s-Tnd8JYl0OPj9Eypo1G3ANi07ymJTqb4rdpHNw-x9wvU-5SJ2-TKz5NETpBcdvjCbI_dOBN58jM0nTt17fg4nBvPPG2HhQeVvyHswqjlWqTSgC0wg" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="624" /></span></a></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I created an Essbase MDX Script called PaloMartCascade.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I used the Crossjoin() function to create my column headers of Periods and Scenarios.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I also used the Crossjoin() function to pull all level zero members under the user selected Department and Location.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Note the use of the NON EMPTY keyword here. Using this will ensure that no sheet will be generated for any missing or irrelevant intersections.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://blogappliedolap.files.wordpress.com/2019/03/e82ct_6.jpg" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: normal;"><img alt=" Next I set my view properties, specifically for CascadeSources." src="https://lh4.googleusercontent.com/qivb4WGOyeY1qoV8tcInzL6pGNw9e4rg90JpB-S7_Abhw77avT3ykfGRd1ccVLV7N85YWomJD-ck8EqNbqQyXTiaEaSQQVgIxsJXmbxBGob1Fw8fU_QfGbwYPgt5eM_VKLvfW7LF" style="border: none; transform: rotate(0rad);" /></span></a></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I set my view properties, specifically for CascadeSources.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://blogappliedolap.files.wordpress.com/2019/03/e82ct_7.jpg" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: normal;"><img alt=" In the Cascade Sources dialog I changed the Source Type to EssbaseMdxScript. Note that this feature is only available in version 7.6 and beyond.
I selected the Script I created in the previous step.
I also set the tokens that will be used to generate the Cascade Report. In this case, the MDX report will return Departments in the first column and Locations in the second column. The order that the tokens are defined should match the order in which they are retrieved in the MDX report." height="323" src="https://lh3.googleusercontent.com/XHiRoxEgBIgUtIBj2aanEvhSjBaC7EdETl2-jbMNJgUCZqjuDNOWjvkhkv5_2gYii7NPSPO7nRCFAWP61YzniQkDrvfwpsTkFqm4JjB8YQPqg_9_q84k42I-cWUP9kiMu6S5e5de" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="624" /></span></a></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">In the Cascade Sources dialog I changed the Source Type to </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: normal;">EssbaseMdxScript</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">. Note that this feature is only available in version 7.6.1 and beyond.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I then selected the Script I created in the previous step.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I also set the tokens that will be used to generate the Cascade Report. In this case, the MDX report will return Departments in the first column and Locations in the second column. The order that the tokens are defined should match the order in which they are retrieved in the MDX report.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://blogappliedolap.files.wordpress.com/2019/03/e82ct_8.jpg" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: normal;"><img alt=" Finally, I added a bit of Workbook Scripting.
First I added a property called SheetCount and set the Value to 0. This will track how many sheets get built during the Cascade." height="147" src="https://lh5.googleusercontent.com/KSUSlvILKn78yYX23L7xjdVzHvpAX0v7otESEq76qhI5q0LTke80SMbGJ9V7lk4ZmJkdNJ-3FNlYN2e3SBlKpie-9p5GuuGQ8AGEuzp2OwgIPw0KpHanhFN1k_q8bZCsPuiEAX_T" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="608" /></span></a></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Finally, I added a bit of Workbook Scripting.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">First I added a property called SheetCount and set the Value to 0. This will track how many sheets get built during the Cascade.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://blogappliedolap.files.wordpress.com/2019/03/e82ct_9.jpg" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: normal;"><img alt=" Next I added an EventLink that will be triggered AfterCascadeSheetBuild. This will be fired after each individual sheet is built.
The first method in this procedure is AddProperty. This method uses the @PVal() Dodeca function to get the current SheetCount property and increment it." src="https://lh6.googleusercontent.com/iQV7E3dcAU4B89i6bGhBboiMI_3q9QFivyPYp3raZbWIFUPa5cZVQXxX5S7iDjF_wFD9AWSFbvB0qIVjCaMfQJVsdh4XCvP4LWyGcqTNB-yw34bdWKmuNMAReJsdh3UnBZuNwoYF" style="border: none; transform: rotate(0rad);" /></span></a></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I added an EventLink that will be triggered by the AfterCascadeSheetBuild. This will be fired after each individual sheet is built.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">The first method in this procedure is AddProperty. This method uses the @PVal() Dodeca function to get the current SheetCount property and increment it.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://blogappliedolap.files.wordpress.com/2019/03/e82ct_10.jpg" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: normal;"><img alt=" The next method in the OnAfterCascadeSheetBuild Procedure is EssbaseZoomIn. This is the method that will drill in on the EBITDA account on our template. Note how I reference the zoom.cell in the SelectedRange. If we move the cell at some point we won't have to update this Workbook Script." src="https://lh6.googleusercontent.com/KCTjXcro0EGRbzfXe-NgesrW2NQHcpqVRPbcnElbpOHWW6qhM7to9U9pL4w2xKQXtAEj1JIe2Iwm-5eNfuvS7Ah4G04CwFGWohrPZrL9i6j1zg4E6_Pi3AI_4Bi6PNALeedXLJNM" style="border: none; transform: rotate(0rad);" /></span></a></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">The next method in the OnAfterCascadeSheetBuild Procedure is EssbaseZoomIn. This is the method that will drill in on the EBITDA account on our template. Note how I reference the </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: normal;">zoom.cell</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> in the </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: normal;">SelectedRange</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">. If we move the cell at some point we won't have to update this Workbook Script.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://blogappliedolap.files.wordpress.com/2019/03/e82ct_11.jpg" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: normal;"><img alt=" The next procedure I added was OnAfterBuild. This will be used to show a message box to the user. I use the @PVAL() Dodeca function to get the final SheetCount property." src="https://lh3.googleusercontent.com/ZQ9NatXxE0uaDbZtAf1kdx1-vaq11vfpwBE9Cri6SmywGveSAMf8DWmxb5bnf33ZK_rRqv4Z_mxSOiDwatjitl3kFSycxQanxn8oTHdGxQk97pXNQ_TzwO0mYpKHmMZGaqwagcdS" style="border: none; transform: rotate(0rad);" /></span></a></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">The next procedure I added was OnAfterBuild. This will be used to show a message box to the user. I use the @PVAL() Dodeca function to get the final SheetCount property.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://blogappliedolap.files.wordpress.com/2019/03/e82ct_12.jpg" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: normal;"><img alt=" Finally, I used the AddProperty method to set the SheetCount back to zero. This will ensure that the property does not keep adding to previous cascades if the view is built again." src="https://lh5.googleusercontent.com/mll2IFzr9vTbLlIY0k_8POoIG_-HddNWTjSj9j97UXpXj-sdlyii5yOKR3qcZW3Jm7eyjmYi-jxIsJdmVAvk0wfXAoELqZpoAyXNQX8QReKrwbBZr50KAnVWyN_7B0RjiceQgZR1" style="border: none; transform: rotate(0rad);" /></span></a></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Then I used the AddProperty method to set the SheetCount back to zero. This will ensure that the property does not keep adding to previous cascades if the view is built again.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<a href="http://blogappliedolap.files.wordpress.com/2019/03/e82ct_13.jpg" style="text-decoration: none;"><span style="background-color: transparent; color: #1155cc; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: underline; vertical-align: baseline; white-space: normal;"><img alt=" There you have it. Creating Cascade Reports in fast, flexible and powerful in Dodeca. From here you could add a Workbook Script to save the sheets to individual files or send them in emails." src="https://lh5.googleusercontent.com/nRO9sS6zj9HqR_-hK9OlKljLvOAvQKS4ZS0uEGTZvIXNkM7kAsWesJAYks9CbQqIKAHERBekF5icaylz6oL6KGvozvQuNHdKh3HOXVp26CvXFyqRLYuPJhqiDqpoFIG_EIJJ9HYq" style="border: none; transform: rotate(0rad);" /></span></a></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">There you have it. Creating Cascade Reports in fast, flexible and powerful in Dodeca. From here you could add a Workbook Script to save the sheets to individual files or send them in emails.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<br />TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-65998710215352824742019-03-04T16:58:00.000-06:002019-03-04T16:58:31.774-06:00Dodeca Commentary Part Three<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='960' height='798' src='https://www.blogger.com/video.g?token=AD6v5dyaanuKtU5wEVAbe6_iR7PIGorZzAfkCngLcsQPP6OteimDYzxHoLbevxmFGLqMmNhapo6caMTfpwLv_2JLUA' class='b-hbp-video b-uploaded' frameborder='0'></iframe><br />
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span></div>
<b id="docs-internal-guid-04a3e3f9-7fff-5a87-c85d-210df0b2b80f" style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">This is part three of three in my series on Commentary in Dodeca. In this part I will focus on the double-click event that opens an adhoc view. The action is done completely with workbook scripting.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" First I created an event link to capture a cell being double clicked. The first method I added to the OnCellDoubleClicked procedure was ExitProcedure. I added this method first because I don't always want the double click event to open a view. I only want it to open the view when the double click happens in a valid cell. I defined that valid cell using an Excel formula and the Dodeca @ACell() function.
In this case the procedure will exit if the double-click happens anywhere but the CommentsColumn range. It will also exit if the cell is empty." src="https://lh5.googleusercontent.com/MmEkHADZE7qfn0WfoQKbhi3QVM1R2v7TCHeY-1qWfKSvFhH4CELwZL_9Sm0jRqFKGz5lH6Idqf5V4X4oBQcmFUIBE3kKvoNszkv0qmxVJf41T-nUSVyqtDgR6cl28ec-YPRmb2kL" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">First I created an event link to capture a cell being double clicked. The first method I added to the OnCellDoubleClicked procedure was ExitProcedure. I added this method first because I don't always want the double click event to open a view. I only want it to open the view when the double click happens in a valid cell. I defined that valid cell using an Excel formula and the Dodeca @ACell() function.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">In this case the procedure will exit if the double-click happens anywhere but the CommentsColumn range. It will also exit if the cell is empty.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" Next I added five methods to set Properties. These properties will correspond to the members in the row that was double-clicked. They will be shared with the adhoc view. Once again I'm using an Excel formula and the @ACell() Dodeca function. In this method, the Departments property is being set." height="324" src="https://lh5.googleusercontent.com/65JPX6g8DlUEajtfsZChI5HtXzB9xCB32v8yBgyt1JUC8nvB39PfWI1QrRSEnv74qgK6EwpMdFErS8Dl9lblKhMLiSQ43NRRrsYeRiIvMCHBt7DK9nhGb-SJHByNa8usqrCIvVnv" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I added five methods to set Properties. These properties will correspond to the members in the row that was double-clicked. They will be shared with the adhoc view. Once again I'm using an Excel formula and the @ACell() Dodeca function. In this method, the Departments property is being set.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" In this method, the Periods property is being set." height="314" src="https://lh6.googleusercontent.com/w4nh_rM09mJ_NEYsvGnfhZLreqIZYPpiFpjrCiZK87VxcWyetZ-JugNQpGIGkge0bUqWk3ZHGRv4Tnl2ywwKVp79V1CKX5ueosiKZOHWeMfoA_-PFH5IgRA_3iDVFHv_WafbaiIy" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">In this method, the Periods property is being set.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" In this method, the Years property is being set." height="310" src="https://lh3.googleusercontent.com/FcdL7Kp5CGrCp4eiypYv-MtMwBLDB0FlV8-INc-Djn1LP6mdQqq77i6sV79jWUYILFlcKBG2HAdbxrsUagEHZPCckV28uCzAPF3WhjnJRAl0WVBsZb2rwMDj8A96tWG82xhMhteH" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">In this method, the Years property is being set.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" In this method, the Measures property is being set." height="340" src="https://lh3.googleusercontent.com/5QkYeMa9wT6kb7T7WGytOXSvf3nrm9RIrXRbmww3d504GygQttsbwfAyksCrfLbBaN8ZVrLUNkJP7bse-Ah4uDK-sGnualpdbTOoHB0RoPOnabLpBwQv8VfOVtBCL0H0EH_JNrHT" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">In this method, the Measures property is being set.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" In this method, the Location property is being set." height="290" src="https://lh6.googleusercontent.com/crGbdj8SgyM-a9z59CNK2VEirFnXrM1bpVg6UIQ2zsQg4UONT0yXOGIOUuPxL0RWj53xvBE3EwVCxBipV71bdegOkfMnes57dJvbQ8ggwOHuZNmB9MpZ0kM3dmSe7nsMcjAu0DiM" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">In this method, the Location property is being set.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" Finally, I called the OpenView method. I specified an AdhocEssbase View called PaloCommentsAdhoc." height="317" src="https://lh6.googleusercontent.com/DsVrZsT_aNf6uSkfqVhBkEqT8BQmJTQiXqHMtZ7KRc8YacSzd7791waLicqTO31-NChq60dDvwMrE8N4Nvxoin1ECtDRekMr-tfHIhTGKR6Ot5Sg6Njmrgv4XeBoY8URUE8-O3bj" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Finally, I called the OpenView method. I specified an AdhocEssbase View called </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: normal;">PaloCommentsAdhoc</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" In the PaloCommentsAdhoc Workbook Script I added one Event Link. The AfterBuild event will add the members to the sheet in this example.
Again, the first method I called was ExitProcedure. In this method I check to see if the view was opened from the PaloVarianceComments procedure. I checked the value of the variable using the @PVal Dodeca function. If the view is opened by a user, this procedure will exit and they will be able to use the view as a normal Essbase Adhoc View." src="https://lh6.googleusercontent.com/OvKe6Hvp4zccxvOSWBozekAsfYWZwmgB0uaCbRShBFwiO2VzqN19pgu88pvTgysmFpNemz-jVxZkY-4okHEpPVBQnP4nLhqcLuMdogLBiX20ojkKZv9SuRgZqZZNLJiFsV42ouPq" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">In the PaloCommentsAdhoc Workbook Script I added one Event Link. The AfterBuild event will add the members to the sheet in this example.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Again, the first method I called was ExitProcedure. In this method I check to see if the view was opened from the PaloVarianceComments procedure. I checked the value of the variable using the @PVal Dodeca function. If the view is opened by a user, this procedure will exit and they will be able to use the view as a normal Essbase Adhoc View.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" Next I used the ClearRange method to clear the sheet." height="296" src="https://lh6.googleusercontent.com/TFLDsvKhc2rL5Q4yDhFHlxUmQzrfRI4Ob3giTIjcWs18qK7SowRLBExduX1VXrzZF_6g8KKG_Cen_D0B9VfSmVO2euP547n6jE5A-OTc1zt_BhKXziD3kEZ3UTdPjMizjOnHhW0q" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I used the ClearRange method to clear the sheet.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" I then used the SetEntry method to populate the sheet with the member names from the properties I created in the previous Workbook Script. In this case I'm setting cells D2:F2 to the Years member." height="309" src="https://lh3.googleusercontent.com/vZLuD6xbuXivzvyRYhvKT3rhYB_wvCR1LoJ8Nh5vhEMolkk4ZC6Gn_XDp3acV7yjXMASolQtuM_FoQ7nr1sZszhdrRCX_XFnBPh2xuk5Noc79hdzZ6VoOlbSHLbuUuzVACcwu1J0" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I then used the SetEntry method to populate the sheet with the member names from the properties I created in the previous Workbook Script. In this case I'm setting cells D2:F2 to the Years member.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" Next I put the Periods value into cells D1:F1." height="308" src="https://lh3.googleusercontent.com/y94-XOV7uy9WcnyYWqEUjVtXi5oxhT7md_H8CIcbclXXRbiofFOX-wB7-9d5dgc0jELjKGwxYIohjq-wDoCpeyRdtvy1C3kZ8OaDZLjl4HbFyxl8ejzRjX5mY_8SUqhn2NepiZv2" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I put the Periods value into cells D1:F1.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" Next I put Actual into cell D3." height="321" src="https://lh4.googleusercontent.com/PqYZNtIU88cPSSq4mGLGoY1AHm7rZ8K_uEi7rkKsuSLxcw2OKDzyel1as9IqJ82CK7e0KQej-S-oBzltkq6rwXu7spqLKU6F81LmAkrB_X7dgSe9LHN5KitMFJMWabHJcTcXet2p" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I put </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: normal;">Actual</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> into cell D3.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" I put Budget into cell E3." height="373" src="https://lh6.googleusercontent.com/epb3tOpIX-KdqDhORIf3BpprMkPzR3CAY73n1aI9mwVGeOJXFDhlglIZRnxhE_xiqO7CK5b2X86jHgCTz_UaIqn08JjKQHue2BZslt-mJfkQH3ltLgTIGBK7idIz9J80kqprUuSW" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I put </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: normal;">Budget </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">into cell E3.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" I put Variance into cell F3." height="369" src="https://lh5.googleusercontent.com/WOF9LPz0NQEKzfU328CebGRCFXktzR_jKY9TuheGLHUs-7M9WfmRc4eFjZixTyK4k8TMnOGgA84vbeUTkb1yglU6IA08XFlfEl2a4vfyPT2oK3vNoZPdUuzehkHHq28aq9loYFDq" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I put </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: normal;">Variance</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> into cell F3.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" I put the Location into cell C4. " height="327" src="https://lh4.googleusercontent.com/QejU8MDJ9GmyNv27eVOxMmUNeblqCN2wK3_IDdya5VLYIMiAPo2vnc0AQX59DOvgo5emA6eTFwT2HiEVITm-fFyLlbEjsUiSmewSud_a3rk2kz3pnD1rQxTYfCkpUxwHayPKLWl2" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I put the </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: normal;">Location </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">into cell C4. </span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" I put the Departments member into cell B4." height="323" src="https://lh6.googleusercontent.com/gDqacrPwC3yn0ri-bF6OSpIuI80iPYYOFE9IQel5xuUgBTZNvWncLoXdD3sosK7N0CyRHXNjDF5Wsq5XNr-sDDPMnGa9eifwnJJp6HfhrlsS35SI6MndbPAXDu2tJfnH7w2iBufh" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I put the </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: normal;">Departments</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> member into cell B4.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" I put the Measures member into cell A4." height="313" src="https://lh6.googleusercontent.com/M_feO8Y4vLfNpZOGQ4eaP_70Pd5BCXuvLQ6QFB-tCzKLD9uKWzSJIzuQfRlFYcEmNZBrm9v0t1ZD80hk5sjCWd2CUb35gwbNVx6tRroC8Jak4tk-qWrqud7dnzzwyGcP_JPcSuQJ" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I put the </span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: normal;">Measures</span><span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> member into cell A4.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" Since this is an adhoc view, I can't create a template with the formats I want. So I used the SetNumberFormat format the numbers the way I wanted." height="217" src="https://lh4.googleusercontent.com/qMu6ziUUzGiQYN4vBaf5SO7keMHugoYJCZEVqgpnrj0eB1AdpG2quRpRKIsSyhzhVV5qSPobZEXOd7mNs0qAmxJsumeSVk2_xXip1J_IPUGaaUbYJX95S8zlLuEP9fyRENqF7yG2" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Since this is an adhoc view, I can't create a template with the formats I want. So I used the SetNumberFormat format the numbers the way I wanted.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" I then set the font to the one I wanted." height="433" src="https://lh6.googleusercontent.com/T5DzzXFzgN4AIPWP0DCLFs9k9Lt1RlvHr-fSN22NzUxTRU4P4qtPi-W2MO-M8fTYSdLw9fqcA90DPOET7CTei9Mw9Dfl-xLGMMuIeYk-OmGJ0RreS9tV-kQ_bJYCICJFiBNVc1KK" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I then set the font to the one I wanted.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" Next I set an index color. This method allows you set the a number corresponding to the color you want. You can define the color using R/G/B values in the format shown here." height="260" src="https://lh5.googleusercontent.com/ViFno37Tq9A4XDjQ6j2mxVZjP_fJOfR5LEPiVY9RmAWk7Yj7r9I7ckyO7Yzc-oX1ERCWM2WM586j-Fs3-BZxfFuk9T-qmmjUSERK1CkQQ6jCuq1cH6ZMDIpTEN8WjXZrmhjy89el" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I set an index color. This method allows you set the a number corresponding to the color you want. You can define the color using R/G/B values in the format shown here.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" Next I set a color index using the ColorSelect property. Using an index on your views allows you to update multiple places that color value is used in a single place." height="290" src="https://lh4.googleusercontent.com/jhqyDpIQCZoFiSJ8I7PDU7Mv2pjQsxz_ZMpch0Y30KvyRSIMIkUWOYYKBFyHMVehtBS048xMHsws7uHalmZZQIyPGNIWi9FZYfim85zNpbNJJRFucD7kQEMnp4zYzn1Rs2y_UsU-" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I set a color index using the ColorSelect property. Using an index on your views allows you to update multiple places that color value is used in a single place.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" Next I set the font color on the header to be color index 21 which I set in the previous step." height="456" src="https://lh5.googleusercontent.com/aJ8uzIyT3VogO9qKJNw1R-u8_QpdGIQUWA1PQCaDyvDxVo58TXVSvAeCEWO9fO9ViaewC5BxWufGqRzGT8a-lYzv-CT9s0VvCWqC6d_R5G2XcczzDxOjv1OhrJHI0v-RzeVPguE_" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I set the font color on the header to be color index 21 which I set in the previous step.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" Next I set the cell background color for the header to be blue." height="301" src="https://lh4.googleusercontent.com/JeZUoyG2OqeZLKztg5tR0THjGCi-CoTSHlwvRKhgsFe4CNv91C3t8JmtTv6nZqYsJv9T_79iaw9U-stxgzdDlQSc2Ao8AdkLpeQISw0cQYGAZLCucd1c8OJWZUdqVxabRUSdDYQb" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I set the cell background color for the header to be blue.</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" The last method I called was EssbaseRetrieve. This will perform a retrieve on the adhoc sheet that was just set up and formatted." height="511" src="https://lh3.googleusercontent.com/LEMao1HuXY9EKaDlUyl3fYsLoLn9aajtVYshObAk16vgw2Dlhj6Vx5xUHDYIjOcn-_wq9eHCGkTA5Aw61cyMRXOpzAod_iafAnE_pSa9OBScbQc64I0z0bV51lh4FaQ8pTEbeU6j" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">The last method I called was EssbaseRetrieve. This will perform a retrieve on the adhoc sheet that was just set up and formatted.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt=" We end up with an adhoc sheet that has the members we want and the formatting we want. There are probably several other ways of doing this but I chose the aforementioned methodology in this case.
That concludes this three part series. From entering the comments, to viewing all comments on a single sheet, to doing analysis on a line. Dodeca Does It!" src="https://lh6.googleusercontent.com/nsh4p10rAhUI0qXqJtojNvcP2HSERIbIsskg5VwppwEmJ4AJBqAVvaVncBu3X4q_0QbPhiCMI2g0n0b6OTtwMwWtI1rs-uVcmbKsUgLXtpm3X59zP9JtnW3E9a5_QlL0y0Q1BhQT" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span>
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">We end up with an adhoc sheet that has the members we want and the formatting we want. There are probably several other ways of doing this but I chose the aforementioned methodology in this case.</span><br />
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br /></span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">That concludes this three part series. From entering the comments, to viewing all comments on a single sheet, to doing analysis on a line. Dodeca Does It!</span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.38; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "arial"; font-size: 11pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<br />TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-83367521964473618682019-03-01T09:25:00.000-06:002019-03-01T09:25:36.270-06:00Dodeca Commentary Part Two<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='960' height='798' src='https://www.blogger.com/video.g?token=AD6v5dwVjxuCi1JTnFKR-l14UMMksgGSFG_5hNqLL1OrNtXRjGi0JitsvfTCdkSrIgBQwZpldrklE7AS1NRevnpIYg' class='b-hbp-video b-uploaded' frameborder='0'></iframe><br />
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">This post is part two of three in a series on using commentary in Dodeca. In this post I will be showing how to set up a view that shows all the comments entered for an Essbase cube.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"></span></div>
<br />
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span><span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">This report combines Essbase and relational data so I set it up as an Essbase Excel View.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="347" src="https://lh6.googleusercontent.com/HU3c3xQpJZ0dblSDsvH9TO7IZ6_yg-myNd-KdXMrIJHc-uBuNiFXZci6f-r0VHU0GK69ug4Yjjqt4p2Uqvrg6eRJCQvvvmZoNZOGyVbkIhEGX75o9ViimZmkbUCopYiO8rXO9CjQgsOId3S6Sw" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<b id="docs-internal-guid-25b9e644-7fff-e536-79a8-d59a23a89aa2" style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">The template is fairly straight forward.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> I added a cell that will contain my ConnectionID as well as the scenarios I will use to retrieve Essbase data.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="348" src="https://lh3.googleusercontent.com/JrY92mA_WZ1fTInvcZu8jWRolT9KbQ1_kD3EozmxIYERbzrLWY5GDPy1RxDbi1FTaEd47UpFybQzCwNzVjCB8VyBVLU9kR6I5XMEv4YkGovhVk35HtaaSbFLtCcuSCc0UIdvuTe1ZYk9-anvrg" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I set up four named ranges.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> One range will define the column that will contain the comments.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> The next range will tell Dodeca where the Essbase retrieve range will begine.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> The Header.Row.1 range defines where the Essbase scenarios will be stored.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> The SQL.DataRange.1 will tell Dodeca where to bring in the relational data.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="399" src="https://lh5.googleusercontent.com/K3YV3BuDJR3FDP-_EA_wRFpf92XPvulfPV6f5qoVBeudPdCiBSyvkgHYEU3WfWhLNwoUtGe-my4Q2bm6sRuQEglF6bot2VzMmIIdo_oiHpCXQqH0nmvB6lHZa34i4Sd8heVxOmbOajMZPEgMDg" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="600" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<span style="background-color: white; color: #141517; font-family: "roboto"; white-space: pre-wrap;">In order to get the zebra striping on this report, I did export the template to Excel. I set up a conditional formatting rule to handle it. In this case I used the ISODD() and ISEVEN() Excel functions along with the ROW() function. This is a simple way to add this type of formatting to a view. Once I had set this conditional formatting up, I imported the template in Dodeca.</span><br />
<span style="background-color: white; color: #141517; font-family: "roboto"; white-space: pre-wrap;"><br />
</span> <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKo_FrfOlApelXRrJNlsVcSrZvHIPflxy25dXIi6I8cTIY511q4HAOMrdVPq2XFTCaosF4DP1hdgztMYFP94w9asnyFrlI56v1eRyuE-GYos6cSndE3gMzBpM7RlsmnVkx3Ws6ST62Ukzf/s1600/formatting.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="302" data-original-width="630" height="305" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKo_FrfOlApelXRrJNlsVcSrZvHIPflxy25dXIi6I8cTIY511q4HAOMrdVPq2XFTCaosF4DP1hdgztMYFP94w9asnyFrlI56v1eRyuE-GYos6cSndE3gMzBpM7RlsmnVkx3Ws6ST62Ukzf/s640/formatting.jpg" width="640" /></a></div>
<span style="background-color: white; color: #141517; font-family: "roboto"; white-space: pre-wrap;"><br />
</span> <br />
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I created a SQL Passthrough Dataset and defined one query to bring back the comments.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="199" src="https://lh3.googleusercontent.com/Qz5NwSt1KG1FRzwt0vgOb78BkIc7F-uvApf6n3Y-U9uKarxfVmAC4yFCHex3mvf2aiNwoZ7fLU6SOwJYbyhhPr-73pi9bEk-2JN1hKP7XmsVu6cTVTzOSWmce58H2JR_i2ftn2UmKxyjstyQMA" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="600" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">The query I set up will only perform a Select statement.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="455" src="https://lh5.googleusercontent.com/7uFg1DVkj-BWofkKvDoEM2DIMwv5ZkwcvITCSCnd8NcSeoSaFQS6D_rLBPXkSH7_Mb081JGXD2dvbEMSq5snkd9UasyAgSKMFmpE7VejnsPpszfWPHP2sYOgS8hw1_e_DgDSG7pWSsK5QJ5atA" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="600" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">This is the SQL used to bring back all the comments in the current Tenant with the ConnectionID for the cube.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> This SQL is a bit tricky since each Key,Value pair in the Comment_Key_Items table is stored as a row. Essentially the rows need to be pivoted to the columns -- something not very straightforward in SQL.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> If you do end up trying to reproduce this view in Dodeca and have trouble writing the SQL, drop me a note in the comments and I'll be glad to give you a hand with your specific dimensionality. There are several ways to write the SQL -- this is just one of many.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> I added ConnectionIDs as a Key,Value pair just in case the dimensionality in this cube is the same as another cube using commentary. This practice will help to avoid any unintended conflicts. </span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh6.googleusercontent.com/nU-xQkylh3-waxSnYCMcANp8H7f4oNCdt4fM9zph80xRx1Ih8-nACRrpz_-y_hmeA_FtfZlnDPRNEFz11ziXHv5OhsfPrXnKbCY0K1WbdHVXrA8-wH6LdmMKXbDN6m1Erx4YFmWL_lM6jg_A6g" style="border: none; transform: rotate(0rad);" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">The only view property of note in this case is DataSetRanges.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="207" src="https://lh6.googleusercontent.com/RyNEHiCefWhBjN8X08SJECH3J7RhCfb5cHlDdq6zMKb-YoX6FBWIvBQ_sc2MTieZcpEKcHM1OV2vOMp5pRSfXsEsKZip_azT6AzXKqvtcUDU0hza6b2QwjSV9MgVqtIPz7zhpdfxkIHrDumZHQ" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="600" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I set the SQLPassthroughDataSetID to PaloMartComments which I created in the prior step.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="455" src="https://lh5.googleusercontent.com/v4ms-YLWCmmwx8tbNrjh6HV1GSULYa_HHh3_mpEpBAbfdaICPSZTBGDc6WPDzVr-0V8C8kS_BGyRuzbRKv28B8qhVaSiCFYNWOLMBtSOYajHQG6oi_RooS3V11HnpZIIShy16KylRhcJaxOH5Q" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="600" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">In the DataTable Range Editor I turned on AutoFiltering which will allow us to sort and filter on any of the fields in the view.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> I also changed SetDataFlags to InsertCells, AllText. This will expand the named range when the SQL data is returned. So any formatting will be copied throughout the range.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="458" src="https://lh4.googleusercontent.com/U2Dun5umrN6DBLAudsSD71jXG9deXBsh3qTvvRcuFuCDHXU7reDyXQxegLXHnv_kJrm-f6O15ozcLnQ0F41VOwBBDISxmihCWxJ_98CJrqZl8LHwaRTPujxwf5hLA1L2Z5A5sV0kjJVdejOPGA" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="600" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I set two properties.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">The first I called OpenedFromPaloVarianceComments. I'll use this in the next post when I create the adhoc sheet based upon a double-click. I set that value to true and allowed it to be shared between views.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">The next I called IsDoneBuilding. I set this to false. I will use this to handle unwanted Essbase retrieves after the initial pull of data.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="91" src="https://lh5.googleusercontent.com/F_hvPeGn4inUbWvbF-5Rz7pKh1V8joZJCJLD4eI6RtcZKTSWibDwfcz0Rx_i63uzanqJfYqNQ8yAvMeBtJII3yLZ9I9pFJOZsniyEqHhp6S7_XDEmJRtHZLejJP48g-pu6zUat20qk6ey6KmQw" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="563" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I ended up creating procedures that run upon four different Events being fired. I'll discuss all but the CellDoubleClicked. I'll handle that in part three of this series.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="134" src="https://lh3.googleusercontent.com/1wxJRtKj4TWjGdxf0UMls5wNgXVpxFpnNcDq1rnHPiCo7xOADCni1kK9-wVMqBMG-zsXRggiGJvhkYnUHzM3kWje534VhUcRJPu7LWCBhAaMer0VPHm4RaZTI9hu7A2MwK6NawzgDVIWLOb1_A" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="401" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I used the AfterWorkbookOpen event to add a couple of tokens to the view.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="67" src="https://lh3.googleusercontent.com/02_GVJ8Y5nqEoLczOxls8rwH-K7wj9i6iVWPFMm-cqhq0dVB_wcZQp7cxuyLfI_ogsu434mEJ_kyXN6A9mf7NWz0p3Fk89ZqJmZiyWj-K5dsgc7qC7qcif7-SD6B1uMQSqKpQmDM6TYjc_6K5g" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="600" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I added one token for the Tenant. This was used when I set up the SQL query.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="215" src="https://lh6.googleusercontent.com/5m6QM4yKC3tiYbbJbLRPi0dVY_FGWYFtH-_gnw5O-S3KrWIEhovSYHVHj9wOtJTzig_dPP-hE7L9ukK0ceGywgjWnp-we3IERQC_y9vkTmCHIBKWJCnMLbHG-LdWNDbbAL4O45-OSgMthGX1QA" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="449" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I also added a token for the ConnectionID. This was used in the SQL query and was placed on the sheet.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="193" src="https://lh3.googleusercontent.com/zJ_6pPsZjqbAjmWmT9Zx0oDT1pPwgc0rIHQ4Ja_VZWM6HJhv_BTmJRsyyy5HXpSFGSoxusc1pfah_yUKFQcabE0wj63QV-b7D2y9_3NrMo4-4UFwegeG5ascyt-_FI3xy9l994maii5-gjvhHA" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="458" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">The first method in the OnAfterDataSetRangesBuild procedure is InsertRange. This will add a row at the top of the returned comments. This procedure gets called after the SQL query is run and the data is placed on the sheet.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="222" src="https://lh4.googleusercontent.com/qI4NaMUO1M4tGAdTDUsCPUCcY24CQ-22dvpLkeKN32GNETud1xNdQivepRW7t7Z50XSShAx2adh38Ddo96Oug0XAje7Zwc83EswVEvEiSqF0hlxbRE2x-WS_lAH2u2JJVL5d3ZqUfbMYH9L8xQ" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="566" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">The next method is CopyRange. I used this to copy in our Header.Row.1 named range to the empty line I just added. This will copy in our Essbase scenarios.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> Once this is complete, we now have a well formed Essbase retrieval range with five of the dimensions in the rows and the Scenario dimension in the columns.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="206" src="https://lh4.googleusercontent.com/ic_MOsqa20LqUs6ndQSWlRWuc_CBoVYSeA8MzVystMlyi-dszX0Le1AWpfX7YHW8eH1RsOkGZaZA-3Ednii-GVg0Zljc2HIM8hKYi-4ykot1MZ1C82CLngX5pyWflI3r8kC1OBMA9Uv-sxx4mg" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="559" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Now that we have a well formed Essbase retrieval range, we can create the defined range name by using the AddDefinedName method. In this case I'm using the Offset function along with the SQL.DataRange.1 named range to create the new range.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="148" src="https://lh4.googleusercontent.com/3m-O6GldKpb8PN68fZAd9IVCQnsBnjMOdH-H6HsnzLqmqoTpU_ncSTBPtDpGnU5m2RhX_VgR-pmo64c6wazCYGjMg__cgc_qrNjuTNDu3DHoYdVAvb8oMAE6of9il9eYVEhAguk4vEv8ZomC5w" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="600" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Once I had created an Essbase retrieve range all I had to do was perform the EssbaseRetrieve method using a RetrievePolicy of RetrieveRanges to get my data back.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="434" src="https://lh5.googleusercontent.com/FfFHRSRap9C_IBBXeKVSoC_OFfgT3ht4lDzMtuofZlr0odaG39QvmjTTP3LIAyWxY5mwil4z5eL0ZUWbWqoVErCY8uH1b_2JEloGZxwI2cQjLRj05yIu3y6HIP82oNAb7xvW4XArgelt9MjjuA" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="480" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">In this view I only needed the scenario names at the top of my sheet for the Essbase retrieve. Once that was done, I no longer needed them. Hiding them wasn't a great option since they could possibly be unhidden during a sort or filter change. Deleting them was the easiest way to remove them.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="213" src="https://lh4.googleusercontent.com/eJqeM1Q5Qy5jz-bhDZLfnxDFEdS6nfEUHmIXKC-QdfqUxpwNcG1PXYDIdjnxG5InuVJA-pkoOEQSFZ7VLaqtW0tg7mMB6NPS7AZvH4k0fpGByd8ISceagrklM7SUNDUbxUR6gkL3fxZsfTGgRg" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="566" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I set the row height so multiple lines of comments were visible. I decided to show three lines of comments for this report.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="216" src="https://lh5.googleusercontent.com/X6_JZG3QeTUR2bdA92i7lXexuGsP4ZByD0ryQ5tz5oMK_7Tf14-IOcUWeeyZDg4PRc120FRlwDv-S-9Im8HF54x2NeZ_riaJ9hh2fmMaIzkCzL_JP20hJpyg8noyaQ8Xnr_HkoZZJNDnOo0G5Q" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="499" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I added some borders to make things a little easier to read.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="206" src="https://lh4.googleusercontent.com/65q2Y28vF7fZxF7Gfja778Et79xS26gf4_96FiEga_4YljWZuETe-1oUXlGw0kYrY35R_6sbROW7yjoMk4j2LLkpDhs-byKTXImAokqChARdQTJGIpXNTSHD71rnxy-AmKiclcIneIUtJIPuMA" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="509" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">And some more borders.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="237" src="https://lh3.googleusercontent.com/4l87NmEYSwb-ukLCpxaNHUaA9tSf9zv4kWYj3Leym5iq3sd2bMCNYYHrDgYZHVrGF9ylB6d9wcMmsYy_zC81rGr_ZHbvzHxRpb0lbz-qVMneWd9A9DljppVE0dDwtOqYhmRGmAEf-22p1KnjNA" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="600" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I set column widths to autofit the SQL.DataRange less a few hidden columns.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="189" src="https://lh3.googleusercontent.com/0wFJCAkhv9LtttQ2r10HaAsrP_inRfcLudBuBP3d0_9cQxP58dahX-OpCUIIHX3VrZ6kuYMbGfL-GSEAgaetArhIDpN8c8KH4MgDo65WTVtUMJGj0wwXAqncRi7PY9f0kryG5Tcs2LXHvn_iUQ" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="600" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I wanted to make the comments column a bit wider so I added another SetColumnWidth method.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="215" src="https://lh3.googleusercontent.com/d7TkM5KxK3rpgCnqW-issRFF_GYRxHSU7n5fkFJ0BdeP2br5IxS0O4aKkamNsQIDalWj8NmqjMrFog4AWTEk9V96cAQm60MiZBXVU6QGs_1CnlwfFVFP2HJmDFgVrgZH8k1ujqxRUqCpkZ0nSw" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="459" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I wasn't happy with the way autofit handled some of the columns. It looks like the filter down-arrows don't count when it does the fitting. So I used the @ColWidth Dodeca function to increase each field by '4' which made the sheet look much cleaner and all headers readable. I also only ran the method on cells with a ColWidth not zero. That eliminated any hidden rows from being expanded.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="213" src="https://lh3.googleusercontent.com/iTahAqw0hbBi9-J-igaTb3c6oT0Ig17gHI9ZcpMOi9e8tFeBUy7HwIbnHgb1yrZENh6cDS8XTshllz-QhpweRMQ8oNc1RSb27ib5tqaQTiEG15KVqcTIb6gBxI_AtsrqMNJQpVHaNWTiDi0TPg" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="564" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I set the IsDoneBuilding property to true. No data needs to be retrieved after the initial build on this view. So I'll use this to cancel the BeforeSheetRetrieve event.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="235" src="https://lh5.googleusercontent.com/ILX1F_jN3bY3ljGPrvVj1YRIAiCiBCRVVcFHnep0CneobGFFT8vKF--Q0tbJmB9efKykgWhtAwK4P347X12BrQCPeApxl3e3CGy_DRRor8elLziQWR7ghJdOTSfCoM5ToJajpnDuTZ206htKcQ" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="431" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Finally, I created the OnBeforeSheetRetrieve procedure to check if the view is done building. If it is done, I cancel the event. I use the @PVal Dodeca function to check the IsDoneBuilding property value. Adding this method stops the view from updating unnecessarily. After the initial build, the only thing a user can do is sort and filter the data.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="199" src="https://lh6.googleusercontent.com/HfwcI2uMaUele2QLD5Wc1EHgDNQoZm69_o_y1F8pXjvtkxaY8BEm7czTr6r-S_MGhzo6ArBFTtCcUlvw1jXvNsK7sQSrJu25bBvs8E90lN_5vfXOOqVDPMu8WhFHCaBkASHsyte1WhgJqFLckA" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="505" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">In the next step, I'll show how to use the double-click event to take the user to an adhoc sheet.</span></div>
<br />
<br />
<br />TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-76461718282660015682019-02-22T10:31:00.000-06:002019-02-26T15:54:23.602-06:00Dodeca Commentary Part One<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='960' height='798' src='https://www.blogger.com/video.g?token=AD6v5dxlh6qwYkIRous1CsIq2198QVk7KPwxxZFvBbK5VOA--059ILeUl9x1PADEZLrxSq4Q1nSZEKESEBfkZRQGgA' class='b-hbp-video b-uploaded' frameborder='0'></iframe><br />
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">This post is part one of three in a series on using commentary in Dodeca. In this post I will be showing how to set up a simple view that allows user comments.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="360" src="https://lh6.googleusercontent.com/lRxrXnovyB7NTm9S17TaPEziyLNGC3r8gDz5V3bEyKpQwTTK6pGpGoE9RKTFODytUCZ2rwl8PscSuVo1TIkKO2ihhaIXwPXus3KUrCq8OsTiFkhZ-F7Br4BHVwA23nwPRJnKzLxf46m7LTxEMw" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<b id="docs-internal-guid-bb3df868-7fff-d974-2507-21df51b30eab" style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">First I set up the view template to include an Essbase retrieve range.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> I then added a column for users to enter their comments. I chose Column F for this example.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="338" src="https://lh3.googleusercontent.com/RMo6PuUWSqicPqTWGP-ZL3q0D68OnyqXxJ6ASukgr5XSeJ9kKVu-ExxCvVWif6l0uTsrHWad0yTDuOEyXrw0dPIIZnW9pcLC0DGlMta2Oiwz_gCUhGX859B3iZqalWsxn18GnxrYS27CpE-8fw" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I created three named ranges in the template.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> Comments.Range is the area in which users will enter their comments.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> ConnectionID will hold the ConnectionID for the view and will be hidden from the end user.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> Ess.Retrieve.Range.1 is the range into which Essbase data will be retrieved.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh6.googleusercontent.com/2R4_JHxQyyp6hL9YBp66DG85SrwuG5pI7Kks_sN5hQEc2fNCyBTWh3zJEwHEghUEU-s101WDwdX0Wchhlsyd1NZ6IJnRQFneHJ8RRgoBEjFnhmPidwJmIRQ8NVZZT-WsXMgvT-4hgEXCJNr2kQ" style="border: none; transform: rotate(0rad);" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">The next part involves writing an Excel formula so that Dodeca knows how the commentary data should be stored in the repository.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> Dodeca uses Key,Value pairs in order to store the comments.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> For example, "Years" would be a key while "2019" would be the value. You can add as many or few Key,Value pairs together as you want to represent a single comment. In this case I'm going to add a Key,Value pair for each dimension in addition a Key,Value pair for my view's ConnectionID. That way comments from this cube will not interfere with comments from another cube if the dimensionality is identical.</span><br />
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> The string related to Years for 2019 should look like this:</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span><span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: normal;">Years=2019;</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> This Key,Value pair will be concatenated to the rest of the Key,Value pairs that make up an entry. The semi-colon is used as a delimiter.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="74" src="https://lh4.googleusercontent.com/R2-BsglNEGLDOUh2ui2MNOdgXR7uRMCh-sFwrwi8SXQPlvDsXeWTxto9nyL95Fv5PxBOq6w3iitBTMjOZjDvm78lD7sGre3nL9iCYNmlFQ56p4jrZYloNNV3GixgSMnmHSUA3p-LIZGpiYp2Bg" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="600" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">That formula is pasted into cell G9 and copied down the sheet. The formula will pick up the correct value for each key from the view.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> Column G will eventually be hidden from the user. The user needs no understanding of how Dodeca manages comments.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh5.googleusercontent.com/HZdI0aNze4b2c2rxHo9zvE5XfAhIQH41DcMryDPEG8ozYNuo-NGanVJm_rBiJrbLi6V0CV9rIqUDKROIXCXIOrRnVpoAltfcyhTeCj13T9tNQrtvcIsk7VvovWFAqdehWP8c8PSSObPjOE_0oA" style="border: none; transform: rotate(0rad);" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I hid rows and columns, headings and gridlines.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh5.googleusercontent.com/TYXw9cmYh1y0m3ofgtpbr86InygbY1x7AlNhESKoT2Nd8RLDlp-YuNBAyt7nUch0tH5zqTV0jM4h637EOpeYmkXGwuKehkkJnVffAB7ZPj0dd6tVND2utqXL9O00iHuk-khLjoFEd4X4AeBg_w" style="border: none; transform: rotate(0rad);" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">In my view properties, I selected the ellipses on the CommentRanges property. </span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh5.googleusercontent.com/I-rk21mrKDJGIXu4rcghmAaXIyOmwU6aZyXtTCgKhA5WOJ3ViyYavlrWDlmbUe54tawz3hpylt3x5GbZiVXeRBnhIRFzVClyHlT84ImHkegYXh8YSboNlUy_R2YEf51klEw5EfnFRma1Vl2zBA" style="border: none; transform: rotate(0rad);" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh6.googleusercontent.com/wRyi2nZ4xdcxXv6vinsZZQSi7RYlxXa88B8gHymEgL3603IqTAGS8YCQjy6q6VfPjV5NzNSwZ8cfPFHXJKKzv40-SJDCdxwcPwt3pMY0dcwVHWNH9_joUo2LG6h_gm5pCExsgfEiqm1mccskgQ" style="border: none; transform: rotate(0rad);" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I clicked "Add".</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> Then I set various properties for my comment range. Notice the properties in </span><span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: normal;">bold</span><span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> have been changed from the default value.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> Note two critical properties on this screen. The first is Address. This is where I entered the named range from my view template. This is the range in which the user will be entering their comments.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> The next critical property is KeyItemsString. This tells Dodeca where to look for the Key,Value pair string related to a given comment. In this case I'm using the Offset() Excel function to find the cell immediate the right.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh6.googleusercontent.com/nRIFZXxLwmoDPOTbBGkk9ctMcH0MjNg-JBRu9KPRye7p07ImhZ9BBYZmdZWqAriLiq-xodiIpe8rTApa7zTSQErrVCPl8rNs50_uwPegM2rIIXNB3z7IBbR4Dep6AA-5iW-629cIXqw6YLDJkA" style="border: none; transform: rotate(0rad);" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Finally, I did add one method in a Workbook Script. This handled putting the ConnectionID on the view so it could be used in a Key,Value Pair.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> I added the @ViewPVal("EssbaseConnectionID") function in the SetEntry method. It populates the ConnectionID named range I set up in an earlier step.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh6.googleusercontent.com/J2I7ATs4VYNsWJ4OKOsoo9dK5N6G31OFC7RggqrGBgEOUJ6ll-VbEY1Whnewp0qRI6LCjG4CjCoigh1FSXrysyVIuhERNf6a9nq-uJEmi_kzrWYOMFqIgUjqbT-8WN0rg3YQ09nbdZboq3cDCA" style="border: none; transform: rotate(0rad);" /></span></div>
<b style="font-weight: normal;"><br />
</b> <br />
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Now when I run the view, I can enter comments in the Variance Explanation column. Once I type a comment and press enter, the comment is immediately saved to the Dodeca repository.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> In Part Two, I will show how to create a view that shows all the comments for a cube on a single screen.</span></div>
<div dir="ltr" style="line-height: 1.3800000000000001; margin-bottom: 0pt; margin-top: 0pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "helvetica neue"; font-size: 13.999999999999998pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh4.googleusercontent.com/oSOA14IBNzPZwf1NQHl7grilpYWsZLc5gXmXS35HUUI0jbE3E9nI33RyAINZ6L6wTUrzFkXjQqb2E-YgyyaTXniPHzeQscEd4tbMaTcK24FOTdXwMLHrBF7je_w23LxXbnh12q12YJ6_-2sDPg" style="border: none; transform: rotate(0rad);" /></span></div>
<br />TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-33592104954146864302019-02-13T16:15:00.001-06:002019-02-18T06:54:45.893-06:00Store Reorganization using Dodeca<h1 dir="ltr" style="line-height: 1.2; margin-bottom: 5pt; margin-top: 2pt;">
</h1>
<div>
<span style="background-color: transparent; color: #ed7d31; font-family: "cabin"; font-size: 18pt; font-style: normal; font-variant: normal; font-weight: 700; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen='allowfullscreen' webkitallowfullscreen='webkitallowfullscreen' mozallowfullscreen='mozallowfullscreen' width='960' height='798' src='https://www.blogger.com/video.g?token=AD6v5dzA8NI-qTbQgWoXjpvJNtIRnSp6LFLGVWVyo0EMwc_GYVkjHLADGcNkHfKcG_d3BUFw9GO-_AuQK8XeClNC' class='b-hbp-video b-uploaded' frameborder='0'></iframe></div>
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> The idea behind this report is that a company is growing quickly and a new division must be created. This report was originally created by Michael McLaughlin. You should visit is excellent <a href="http://jettrock.com/blog/" target="_blank">Dodeca Blog</a>. I've taken his original report and made it completely dynamic and solely using MDX to return data. There are no sheet formulas or Essbase Retrieve Ranges. As with most things in Dodeca, there are several ways to accomplish the same task. This is merely an exercise to show the power of using MDX.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="641" src="https://lh5.googleusercontent.com/tieGJjoMVvwnenyGdLLXZDlXhe-EeqbtkIp-dzz_QgdrFg4y1r3-oZMEreOyQqqfR7xOnS4G-o2q0HLCkiF4ReDI5mJp9hQL1NAuoH5uXhS7Toyjh9Q5ex7PQ1CKuXHrIMKD5kAcOssM7hJquw" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="600" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">The outline is shown here with emphasis on the Location dimension. We'll use this dimension to allow the user to rearrange the divisions.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="562" src="https://lh3.googleusercontent.com/FiF_DRts71b5c0TUaVWJ1q_rEzG4Vc_xJd_6RheQbxvVbyOgIBglVGJjI8hHyBprtHMRT3lX_TKX8pHjuy9fR3vMlkgNaSm63HykT6_LV4UKt4DOIAaE4zj5ftetQkt7U1Ouo7eyECq1gmSpTA" style="-webkit-transform: rotate(0.00rad); border: none; transform: rotate(0.00rad);" width="600" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">The first step is to set up the selectors. I created selectors for Departments, Location, Measures, Periods and Scenario.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh3.googleusercontent.com/IOq9g-8RTTdSt84FOwE-kxVWL4V2tuTv-wbqhMmGK1UmpEvjy2WNz0DeM0cmLf0rWt93CP8t0keJFOQaqGI4xdFrLljzPf11HRZURENOJ8kmkcYS6HB9Z2VPid8rnEIaCTFL62hCL-JLB0r3fw" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Then I created the Selector Lists. Most of them are straightforward. For the Scenario dimension I allow users to select Actual, Budget or Forecast.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh4.googleusercontent.com/f_Y6Ky93bPkjHhDODOJ6YxkZkueen47zlWWMxPeDz4otl-7bCTAH52hczw8XGK2Uw_2wGQUhkwdIkASYUcr9HJeVPVDBss4r_qw_R9yE-gl5ATkzUrXGP_juku6nwn7NKNEYntKy9qieobNIuQ" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">For the Locations list I use MDX to retrieve the list of stores. I also changed the TokenValueItemFormat to [{0}]. This will allow each value to be wrapped by square brackets for use in an MDX script.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh4.googleusercontent.com/aAp-vK0CwRq-g3we9L6bVTwjXZxdP6W7DD32Vk606gANxZpWUiftHKSzgNH-PtAKA4z37U-8WfEeLSZxZQpQD757XfQGZwgQ6c6abbxikjAnZh2XvIDJ6He5AK4WFYXyM5eauu4tTCJo05uapw" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">The store list MDX is shown here. </span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh4.googleusercontent.com/Cr5KVbKGczdcnY45odGcv5j0_rtmKtCGkNeQyE63Jz0tS9laUmgx8dpK4Z3GohD1O6BFdNKRpGwMRkQL7BpNJJ-uL6Kdl6BzPcmFr3-G26PT5g-HormeJvbn4-t4Sd83D0Vz7avc4Lw0LBiYmg" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I use an outline UDA to create the list of Measures that the users may include in their report.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh3.googleusercontent.com/8EYUBuRqsCwtOXCkblxsBPx1I06Se_kNEnCbsdToxKcfNKHB0uRBwd-Q1a5xdEMCWW8N8GWruw8BbJFh89CGJg7rYiRCTYWhMFn5ZEN_aDYaH1h5QyuZakH-OiFE5fQLW2K3GTICU4aCZPuBDA" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">The Measures list MDX is shown here.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh5.googleusercontent.com/-8f3PGoqE9gvGFrFYrqWKkWQKMPPUrj4nfoR2T9CDFUbW8RKWcCkkWHPywsssrRdngJj9_jEbwzpza7CkrzjiXJ7FTUO4uFU_rt_ULLI7zyGlNr9AbEKktWmFnCJAdckgGkZzjxgJZzB5FoSBA" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I used MDX to pull back the list of Years as well. All MDX, all the time...</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh4.googleusercontent.com/bCno1RLlXHNcOSATHsMmkQ_9QldEkfNGto2CyqyQVN3aaN0UwvIoFEJLTmlSu_6DPz1BZaxQEnBuqWYiFFkpaGaSDQdlxbAHkvn_ju1MBdgIV-Nu53jdakp8_7QIrkbta5xV8McDPBPv8K8x2g" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I configured my selectors in the Reorganization view properties.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh5.googleusercontent.com/Sy7BlwqnQ8qQXuaJMwFjsnGMefCtxWmTghRU04z_k5nf6V0vyR8RPGmT9PaHfJroAZC03RevLeB1YOi8f5oY-cEI3n4jTtSw6VvnjkH41OTKjZiljdiQg1JU8oeCBH_L6ua1o325gDeRHjhXew" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I added my Selectors and assigned them their appropriate Selector List. I set the Location selector as optional. I also set it to allow multiple selections.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh6.googleusercontent.com/IaDJjmSxHeTdWwzMVG9TckQeVLIT0leyh4vp9kYQXekLlj8i0syRq2i2AuPx2h3FtawbhMJFSi0FB32YAvc2jEy8_E49Qq4iVy_8SWx11nRAE6X2z27-wccOshd0-KjTHjYtT9zBJr86qehtFw" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Then I created a very simple template. I included several tokens for a report heading and added a few formatted cells that I will use later to copy into the report.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh6.googleusercontent.com/71LggaPzn60Ku56Sd3Kp13VSUowxkD6dz3_BifcF0P8Htdco1mi8HrohH3o5ULwlZYnagyshFvX7LKZqy4MHWJDDGGbHQ7dg5A4HP0mcHnnvPdjPz-zPyr-la00kuJ9GAg9-PT2m808LJXLD-w" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I set up Excel named ranges for the starts cells I will use to place data, formatted cells and the columns being used in the report.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh3.googleusercontent.com/4DlY-MrEfa_Y1HNlswb1xvHKCxfTWqevzUIpa44C8pvwwoQXUOY4qMrwkRtiOVcQ0MMXcKcYx31Rt0sK4f_g0bs4_JjW1Sku3fyDn7-4uDkhiV0uQkCsTOvH1UIeuqYlh_ojEC7dS1dJ93vniA" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Since there are no Essbase retrieval ranges in this report, the majority of the work will be done by the Workbook Script.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> I first add the AfterWookbookOpen event and OnAfterWorkbookOpen Procedure.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh3.googleusercontent.com/QI61ZWQieK8qM2LYUUxP6Ke21RhLvU507u5aM-r2xDPvj5bpESOYReMCo5lSLg1vWXZibbuIEg5I3_AMk3chgAhgnmmSimpoIjbyg0gVJGDVh-Jsx-6qEO5Psl0d15EJ3-0Z9I0Dpw6sAGs37w" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">I then added a AddDataCache method. This method will run MDX to retrieve the list of divisions in my Essbase outline.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="202" src="https://lh6.googleusercontent.com/BLmWxAu3dLzgipRhgu8ZwA_V8g85CEknfgBZzwYndWRh6Cfk-VcpVkUYiklJWERef62ueL2-jV-9FccZDD58YzjoPVhNmmxTTV3Qi3UMrnzHAQyenJlL9PvpJkBL1P_m34H0HbUjmh-TZCo5fg" style="border: none; transform: rotate(0rad);" width="640" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="font-family: "calibri"; font-size: 12pt;">Next I added an AddProperty method to set a DivisionOffset property. This will act as a variable to keep track of where the latest division was added.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh5.googleusercontent.com/vCkf1ghXTMjYku_xRssk6XnBdenzpQlN_IC0q-SX1LoniGd6qY3AsoIHBvCRx5Wshz_R4swfunEeLhVNnAf5QVgjelgVGJVG7oZBocDTg9fgSQscaCGoge6lU9RUVZh3M82O5SWtxejS0oSs7A" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Now I created a ForEach method which will use the DivisionList DataCache from the earlier method. The BuildDivision procedure will be called for each Division in the list.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh5.googleusercontent.com/50yitGEny_Mx-Pnj9BMreYpdMIQDQpfMZPpUb3YaiqKdLUSKWhwZvR_mGQwdxUdFXa7Gn56QhawQ__GXyx-UGJS6heSqQk_5e5GXPZRgltbNxMhlR1heock-hk66VGpgv6qE3NyTcwua-lfAlA" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">The BuildDivision Procedure starts out by running an MDX script.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh5.googleusercontent.com/QPLZOypbj9wotSLUQ_3WzEVHPL5vXmgj3s6E6tAaHL67V7dGDA_p02KmQSnA58Z_YELHg6CAOmKTvvfitlBrm-Hmm_9j44NrYDHMHO9_L4l8YWEuJqiKViWvP9nUHCVYEjCtZfDEExmj2J_0BA" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">This script is how most of the data on the report will be created.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> </span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"> Notice the WITH MEMBER statements. These create members on the fly. In this case the measures will be dynamic based upon what the user selects. Locations selected by the user will be removed from the report.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh6.googleusercontent.com/yr4pn8WZeVPODpVnmSv-guAitHwTQMf2DKWaMYeK7W_dnT-H1CtcJBeE0CPpbbs_X3f_37OBlu2j3XKDnCAvhiMCuXp92sqCSuPgCNLYgM0Ff0o7c3L1IFyB0til9uEzaA7cW4gGdfFGDnuvBg" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Tokens and the CurrentLocation property value will be automatically replaced by Dodeca at runtime.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh6.googleusercontent.com/NBDT_Pps0fnrVupIKXHpVf0MwJncxtktJbmKD-GgKJbVLbkuomQBso80EBkPLy_rWdZCdJhBfgPYAxKobrOU8HHE8rLBpXNw33S5G8tRYTQ8RfhlRddfUV-J7YlmTcfGWKJdi1FFa8mJ0UvYCg" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">The DivisionOffset property will be adjusted based upon the size of the data returned in the MDX query.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh5.googleusercontent.com/LQzLx3HnQbgz4T2Vo_PTuZgcQxAdhCgmrMytzStDYcRq3U31KgihELQ_c8aSC6y75b7C6x-d4jBk-Ja8BrQ8_aycNNSZMzGear1iLFnjaE6jvNPenPzsM0958IRn5Wnpz23v4vESvPXG5u_mgQ" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">The RowCount property will also be adjusted based upon the size of the data returned in the MDX query.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh4.googleusercontent.com/QpFQaNAhg_V8Ev0Lwa9AIZLlZ5Gzn8bX2GRsYT2s1EPgW2JvoovXt8vt_iJYIukKS_d7FJY_9ixUVq9Lu5gmVp1j0vylr6f_mxIejt-HRDxTSdvs0QfmoJV4SuPGK6xDr2DtSQudryFkXe9m-w" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Next I added six CopyRange methods. These handle the copy of formatted cells in our hidden rows to the proper place on the sheet. I do this using the Excel Offset function and the property values I've been keeping track of.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh3.googleusercontent.com/aVvFKbiwzRH5mHsrd4YSqTUUeisczHIOk3OlPpkCbytBxER1eC360xqd5z5FjXi5PcunebglI9u4IAW9oTcQ59gN1upCQHxMOEjj30ymTQdGkEYGw6lK1gOg-mRQP-ZcAN5wkuY80yH86h3IcA" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Once the BuildDivision procedure has been run for all of the divisions in our DataCache, we can then run the MDX Query for the new division.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh6.googleusercontent.com/qfYdaCtN1f1UzKMhw7YIThUXjmJ2oykUbiBNrWZCmmBGYqASO8QOLo35DFOEBE0AQVlpJqaBRjxzAMhV3PkX8WiTZZp7gom42C-w_EZALIA3npi3asm_x9FhYuqZHaiyGa5oMg1AuF_h7mZdlg" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">This MDX script uses the WITH MEMBER statement along with Location tokens from the selector to pull in the locations for the new division and total.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh5.googleusercontent.com/Ny5uZJ0wbH9PpYTaO6cE-ih1oOCziVe4L0Anpobc8n_6rZk_PssJiuloDyvPHKORUTZybNN7C9o9K5YAKAK68myX5A_0cAXrQuwH9FcdxWPvPo6p-FwNO4VC6mSc3fIuwRGCe94wqd90L8MZ_g" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Now that all the data has been retrieved on the sheet, I used the CopyRange method to format the data for the new division.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh6.googleusercontent.com/uyEx3DUwvI7GlAacE1Qi-7arI8KMFeH4M2a8X088daRLBjgjbTs7mBRVsWw1UgpYpUlCfiYPBOdNFrvuOG1qLIWkUeuMTIO0KO-DHce09Qw36oFMiP5yhPrhviWfM3P0p0sPrd4rJdPUcPBiRA" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Finally, I set the Column Width on the sheet to AutoFit since there are no Essbase Retrieve Ranges to handle that for us.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" src="https://lh6.googleusercontent.com/goq3MaprpTWAvK0PfWvOubz05sYLV7U4OGbC9j6dylgx_YwS5nM044juld7Qr0ItoyzRXyM6no583oR40-uxRTcT1YJVdMv31DavZAYDJOQev5RAslusI23znTAbQPf2Rts5muz47elEeWAeCA" style="border: none; transform: rotate(0rad);" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">By default, the report doesn't select any locations for the new division.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><img alt="image" height="640" src="https://lh3.googleusercontent.com/z756i_B1cIQ24BS29MS_K7y9ysScEJIKfefBdrla6japX85rZcFO4bCTo5LGtql380J0A8weVN0uRu3QtAs2lVBgWTUx_9sf88AL7q_R3BsihOvs69QM5yeMlpcU3zMRVWw88yCHzWZwFy2MyQ" style="border: none; transform: rotate(0rad);" width="341" /></span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 0pt; margin-top: 0pt;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"><br />
</span> <span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 12pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;">Once the report is run, the user can see the existing divisions with their changes as well the new division. This report can help a user quickly see the impact to changes in the organizational structure. This methodology could be implemented in a number of places to see the impact of changes before they happen.</span></div>
<div dir="ltr" style="line-height: 1.2; margin-bottom: 3pt; margin-top: 3pt; text-align: center;">
<span style="background-color: transparent; color: black; font-family: "calibri"; font-size: 10pt; font-style: normal; font-variant: normal; font-weight: 400; text-decoration: none; vertical-align: baseline; white-space: normal;"></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN5G-NrqBGqUMsF9OaXD1NDMxOuOvpBcrpUZb2WKAWEXrhqWarUWbp6N4SzgMsFKMlCPgaJXqJXMUpmUDtuH1tte5t7kf-Vx8at6sCjjlPWn8_dzN-E5GWnPy_Zv9pMPzF5iWPaOrfZN1k/s1600/report.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="705" data-original-width="822" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjN5G-NrqBGqUMsF9OaXD1NDMxOuOvpBcrpUZb2WKAWEXrhqWarUWbp6N4SzgMsFKMlCPgaJXqJXMUpmUDtuH1tte5t7kf-Vx8at6sCjjlPWn8_dzN-E5GWnPy_Zv9pMPzF5iWPaOrfZN1k/s1600/report.jpg" /></a></div>
<span id="docs-internal-guid-6decffa2-7fff-50a4-c3b6-de093bb0e35b"><span id="docs-internal-guid-d9e99457-7fff-4926-5c48-225ae9ce36c5"><span style="font-family: "calibri"; font-size: 10pt; vertical-align: baseline; white-space: pre-wrap;"></span></span><br />
<br />
</span>TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-38350234205451096642018-08-09T10:23:00.004-05:002018-08-09T10:24:32.125-05:00MDX Generate()I'm writing this post because I forget stuff all the time. This is one of those things I learned a few months ago and nearly forgot already...<br />
<br />
One of the trickiest parts of dealing with MDX is shared members. They look different than regular members so a lot of functions don't recognize the stored and shared members as being the same. If you want them to look the same you need to use the Generate() function.<br />
<br />
Suppose you want to compare a list of children to the currently selected member. It won't usually work if those children are shared members.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjraN0ftYLb-NjN2DlFJN5pLPjddbnC2rNafNNF0LlkRcRQh-w806MOVocuCBluyjvnq8GlTr5HpxfCP3EE3EI9uQQdO9fyU7DBSY7o4W1jt8cRs5nMDVkC4pgNyZaeApo62cH7TSA1Xyqf/s1600/high_end.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="87" data-original-width="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjraN0ftYLb-NjN2DlFJN5pLPjddbnC2rNafNNF0LlkRcRQh-w806MOVocuCBluyjvnq8GlTr5HpxfCP3EE3EI9uQQdO9fyU7DBSY7o4W1jt8cRs5nMDVkC4pgNyZaeApo62cH7TSA1Xyqf/s1600/high_end.jpg" /></a></div>
<br />
The following formula will yield a false result when the currently selected member is Flat Panel or HDTV or any of those shared members you see above.<br />
<br />
IsChild([High End Merchandise].children,Products.CurrentMember)<br />
<br />
In order to "clean" the shared nomenclature from the member you need to use Generate(). This will return a true result.<br />
<br />
Contains([Products].CurrentMember,<br />
{Generate([High End Merchandise].Children<br />
{StrToMbr(Products.CurrentMember.Member_Name)})})<br />
<br />
In this case Generate() loops through the set of children, returning the the cleaned up product name into a new set. That set is then evaluated against the current product selection.TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-62253081980924849272018-05-10T15:06:00.000-05:002018-05-10T15:06:44.575-05:00Branching in MaxLA fairly common task I run across when writing MaxL scripts is to have some logic where a certain file loads or a calc runs one day and a different file loads or a different calc runs on a different day. I'd usually write multiple MaxL scripts to handle this and call a different script on a different day. I'm not sure why it took me so long to figure this out, but it's really not difficult to handle this in one script.<br />
<br />
<pre style="background: #f0f0f0; border: 1px dashed #cccccc; color: black; font-family: "arial"; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;">1: login $1 $2 on $3;
2:
3: echo 'script starting';
4:
5: goto $4;
6:
7: define label '0';
8: echo 'Today is Sunday';
9: goto 'Finished';
10:
11: define label '1';
12: echo 'Today is Monday';
13: goto 'Finished';
14:
15: define label '2';
16: echo 'Today is Tuesday';
17: goto 'Finished';
18:
19: define label '3';
20: echo 'Today is Wednesday';
21: goto 'Finished';
22:
23: define label '4';
24: echo 'Today is Wednesday';
25: goto 'Finished';
26:
27: define label '5';
28: echo 'Today is Thursday';
29: goto 'Finished';
30:
31: define label '6';
32: echo 'Today is Friday';
33: goto 'Finished';
34:
35: define label '7';
36: echo 'Today is Saturday';
37: goto 'Finished';
38:
39: define label 'Finished';
40: echo 'script is finished';
41:
42: logout;
43: exit;
</code></pre>
<br />
When I call the MaxL script, I pass in User ID, Password, Hostname and then a number for the day of the week. Only the part between the <i>label</i> and the <i>goto</i> will be executed.TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-72339174789197013682016-10-28T08:00:00.001-05:002016-10-28T08:00:40.670-05:00The Calm Before the StormI haven't had a lot to post about lately. I had been wondering if it was my fault but someone set my mind at ease this week. There really hasn't been much new Essbase functionality released lately. A lot of Oracle's focus has been on getting Essbase Cloud Services ready, which I think, has diverted some of the attention from the on premises version. So I view this as a quiet period before our next round of fun begins. Fully functioning Hybrid will be a part of that in all likelihood. That should be a game changer.<br />
<br />
I've been plugging away at ASO procedural calcs but that isn't anything cutting edge anymore. I'm hoping to get Essbase 12c up and running now that it included EAS. I'll share any thoughts I have on it in this space soon. TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0tag:blogger.com,1999:blog-6545695526051974540.post-15915080001687074252016-07-25T16:49:00.001-05:002016-07-25T16:49:27.844-05:00Kscope16 ReflectionsI've had a few weeks to digest all the Kscope16 content and experiences I absorbed. I really had a great, if exhausting, time at the end of June with all of my favorite EPM people. This was my second Kscope conference and I think that I got more out of this year's conference than Kscope15. Part of that has to do with relationship building. There's no good substitute for meeting people face to face, interacting with them and discussing things. I will note three main reflections from the conference.<br />
<br />
<h4>
People and Relationships</h4>
I put this first because I believe this is the single greatest benefit of Kscope. I do interact with people via Twitter, OTN, Network54, email but I am the type of person who needs personal contact. I got a chance to speak with people from around the world catching up with them on topics ranging from the latest technology trends to the Brexit announcement. It was really cool to hear the opinions of such a diverse bunch of folks. Having access to the greatest minds in the EPM world, including the Essbase product management team is pretty much a once a year opportunity and Kscope is it. I look forward to Kscope17 where I'll be able to further develop the bonds begun this year.<br />
<br />
<h4>
Hybrid</h4>
Much of my technical interest in the conference was directed toward Essbase Hybrid aggregation. The panel of customers and consultants who are running Hybrid in production was particularly enlightening. It seems clear to me from listening to Oracle product managers that this is the direction Essbase is headed. Having said that, I really feel like Oracle needs to have a single message related to Hybrid. I heard "Hybrid is just BSO", which is kind of true. Then I heard "Hybrid is BSO with ASO aggregations" which is also true. I think I heard a few other things. Couple that with the fact that the word "hybrid" means a lot of things, even just in the EPM world, and there is the potential for a lot of confusion. Having said all that, I'm looking forward to coming enhancements that will take Hybrid to the next level.<br />
<br />
<br />
<h4>
My Sessions</h4>
I'm not sure what I was thinking when I submitted three abstracts for Kscope16. I guess I forgot how much actual work goes into creating a technical presentation. Thankfully only two abstracts were accepted. I thought the presentations went fairly well but then I got back my evaluations yesterday. They weren't bad but it was funny to read them. Apparently my audience thought that their fellow audience members "asked too many annoying questions." Anyway, the feedback was important and hopefully I can use it to improve my future presentations. There are a few reasons I'd encourage others to present at a future Kscope. 1) When creating a presentation it really forces you to know your topic. You learn a lot during that preparation. 2) You get to show what you can do to potential future clients and co-workers. Imagine walking in to meet an interviewer and they remember you from the killer presentation you gave a couple of years ago. 3) The amount of interaction and discussions your session fosters with attendees is incredible. I cannot even count the number of people who came up to me in the hours and days following my presentation to thank me and discuss the topics further. Those were some of the best conversations I had all week.<br />
<br />
<h4>
Final Thoughts</h4>
If you haven't been to Kscope before, I'd encourage you to go. It really is a lot of fun. If you've been and haven't presented, I'd encourage you to think about submitting an abstract on a topic near and dear to your heart.TimFhttp://www.blogger.com/profile/05962713873726067372noreply@blogger.com0