What Essbase Can't Do

  • Published on
    10-Apr-2018

  • View
    213

  • Download
    0

Embed Size (px)

Transcript

<ul><li><p>8/8/2019 What Essbase Can't Do</p><p> 1/23</p><p>WHAT ESSBASE DOESNT DO(TODAY)</p><p>The Cubegeeks Toolkit</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 2/23</p><p>Agenda Intro</p><p> Data Management Cubegeeks Toolkit</p><p> The Welds</p><p>Object Versioning</p><p>Currency</p><p>ExternalizationNotifications</p><p>Fake Data Generation</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 3/23</p><p>Michael Bowen Sr. Mgmt.Consultant</p><p>@ Rolta-TUSC13th Year with</p><p>Hyperion Products</p><p>3 Presentations atSolutions</p><p>Microsoft Detour</p><p> aka Cubegeek Hair</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 4/23</p><p>Goals of Data Management Direct and manage the flow of data into the Hyperion</p><p>applications</p><p> Provide a mechanism for understanding the state of theHyperion application at any time.</p><p> Provide the ability to recreate a particular data event.</p><p> Integrate, synchronize and automate all Hyperion back-end processes with IT.</p><p> Leverage best aspects of relational &amp; multidimensional</p><p>databases + scripting. Provide a logical framework for extending and enhancing</p><p>Hyperion applications.</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 5/23</p><p>Backend Functions: Two Cycles Data Management</p><p>CycleData Registration</p><p>Data Cleansing</p><p>Data MovementData Processing</p><p>(Essbase Cycle)</p><p>Data ArchivingData Recovery</p><p> Essbase Production</p><p>CycleExport</p><p>Clear</p><p>BuildLoad</p><p>Calc</p><p>Report</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 6/23</p><p>The Cubegeeks Toolkit SQL</p><p> UltraEdit32 Blat / mailx</p><p> Hashcalc Blogger</p><p> Audacity Outlex / AppMgr</p><p> Perl</p><p>V5.8.8 Build 822 7Zip</p><p>V4.32</p><p>7za CLI</p><p> PasswordSafe</p><p> WS_FTP Procexp</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 7/23</p><p>The Cubegeeks Backend ~/essbase/batch</p><p> logs data</p><p>Currentinbucket</p><p>archive mdata</p><p> scripts ex ort</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 8/23</p><p>The Welds Versioning of Objects</p><p> Externalization ofCurrency Conversion</p><p> Backend Notifications</p><p> Fake Data Generation</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 9/23</p><p>Versioning Why?</p><p>Development RollbackRecovery Pairing</p><p>Data Run Enumeration</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 10/23</p><p>Versioning What</p><p> .ver fileVer.pl</p><p>Version.pl</p><p> Tools</p><p>Perl</p><p>back:Build 029</p><p>20090522-125028</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 11/23</p><p>Versioning Code Fragment# cd ${scrdir}</p><p>system ("ver.pl back.ver");</p><p># get new build number</p><p># bnum=`head -1 ${appid}.ver$verfile = "back.ver";open (VF, "&lt; $verfile");</p><p>$ver = ;chop $ver;$x = substr($ver,-3);</p><p>print "saw version $x\n";close VF;</p><p>print OUTLOG "$t : $appid version $x \n";$fspec="back_build".$x."_objects_"."$env".".zip";</p><p>$cmd = "7za a -tzip $fspec *.dat *.sql *.txt *.pl *.bat *.lst *.msh *.csv back.ver";print "executing $cmd\n";system ($cmd);</p><p>$cmd = "move $fspec $expdir";system ($cmd);</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 12/23</p><p>Notifications Why</p><p> Nobody Subscribes,</p><p>Everybody Asks Diagnostics</p><p> What</p><p> Logs Email</p><p> Twitter</p><p> Blog</p><p> Tools Perl</p><p> Blat</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 13/23</p><p>Notifications Code Fragmentif (not -z $rejects)</p><p>{</p><p>print "rejects found.\n";</p><p>print OUT "GL RUN $tline:REJECTS\n";</p><p>#email notification</p><p>$subject = '"GL RUN: Load Rejects"';</p><p>$sendfile = $rejects;</p><p>&amp;notify ($sendfile, $subject);</p><p>}</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 14/23</p><p>Blat Callsub notify {</p><p>local $outfile = $_[0];</p><p>local $subject = $_[1];</p><p>$rfile = "d:\\hyperion\\essbase\\batch\\scripts\\recip.lst";$sender = "michael.bowen";</p><p>$senderpw = "amazon.com123";</p><p>$cmd = "c:\\usr\\bin\\blat $outfile -tf $rfile -subject $subject -u$sender -pw $senderpw";</p><p>system ($cmd);</p><p>}</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 15/23</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 16/23</p><p>Currency Externalization</p><p> How</p><p>SQL ServerPerl Code Generation</p><p>Fetch &amp; StoreVersion</p><p>Translate</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 17/23</p><p>Currency Code Fragment</p><p> Generated SQL</p><p>INSERT INTO [HRSource].[dbo].[FX]</p><p>([currency],[stamp], [year],[to_usd])</p><p>VALUES ('AUD','FX:023:20090318-071501','2009',0.63836);</p><p>INSERT INTO [HRSource].[dbo].[FX]</p><p>([currency],[stamp], [year],[to_usd])</p><p>VALUES ('AUD','Now','2009',0.63836);</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 18/23</p><p>Fake Data Generation Why</p><p>OptimizationValidation</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 19/23</p><p>Fake Data Tools</p><p>PerlUltraEdit32</p><p>Datgen.pl</p><p> Pieces &amp; Parts</p><p>DatgenDim Files</p><p> INX file</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 20/23</p><p>Configuring INX Six Fields</p><p>DimDim name</p><p>Dim Count</p><p>Curve TypePerm Flag</p><p>File name</p><p> One Measure</p><p>dim0:"Costs":50:1:1:costs.txt</p><p>dim1:"Teams":50:3:1:teams.txt</p><p>dim2:"Parts":500:2:1:parts.txt</p><p>dim3:"Options":3:3:1:options.txt</p><p>dim4:"Scenario":3:3:1:scen.txt</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 21/23</p><p>Sample Dim Files</p><p> Options</p><p>Base OptionOption AOption B</p><p> Parts</p><p>69-73484-1251A2160-269-54631-1250055-9</p><p>1544400-33910031-1053910036-101UA538551-3</p><p>65-44631-1OH6740281E32--O6347466087</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 22/23</p><p>Code Fragment</p><p>if ($ndims==5) {for ($i=0; $i</p></li><li><p>8/8/2019 What Essbase Can't Do</p><p> 23/23</p><p>Q&amp;A</p></li></ul>