Académique Documents
Professionnel Documents
Culture Documents
(TODAY)
The Cubegeek’s Toolkit
Agenda
• Intro
• Data Management
• Cubegeek’s Toolkit
• The Welds
– Object Versioning
– Currency
Externalization
– Notifications
– Fake Data Generation
Michael Bowen
• Sr. Mgmt.Consultant
@ Rolta-TUSC
– 13th Year with
Hyperion Products
– 3 Presentations at
Solutions
– Microsoft Detour
• aka Cubegeek
• Hair
Goals of Data Management
• Direct and manage the flow of data into the Hyperion
applications
• Provide a mechanism for understanding the state of the
Hyperion application at any time.
• Provide the ability to recreate a particular data event.
• Integrate, synchronize and automate all Hyperion back-
end processes with IT.
• Leverage best aspects of relational & multidimensional
databases + scripting.
• Provide a logical framework for extending and enhancing
Hyperion applications.
Backend Functions: Two Cycles
• Blogger • PasswordSafe
• Audacity • WS_FTP
• Outlex / AppMgr • Procexp
The Cubegeek’s Backend
• ~/essbase/batch
• logs
• data
– Current
– inbucket
– archive
• mdata
• scripts
• export
The Welds
• Versioning of Objects
• Externalization of
Currency Conversion
• Backend Notifications
• Fake Data Generation
Versioning
• Why?
– Development Rollback
– Recovery Pairing
– Data Run Enumeration
Versioning
• What • Tools
– .ver file – Perl
– Ver.pl
– Version.pl back:Build 029
20090522-125028
Versioning Code Fragment
# cd ${scrdir}
system ("ver.pl back.ver");
$cmd = "7za a -tzip $fspec *.dat *.sql *.txt *.pl *.bat *.lst *.msh *.csv back.ver";
print "executing $cmd\n";
system ($cmd);
#email notification
$subject = '"GL RUN: Load Rejects"';
$sendfile = $rejects;
$rfile = "d:\\hyperion\\essbase\\batch\\scripts\\recip.lst";
$sender = "michael.bowen";
$senderpw = "amazon.com123";
}
Currency Externalization
• Why
– Speed
– Simplicity
• What
– Stored Procedure
– On Demand
– Flat File
– Go Button
Currency Externalization
• How
– SQL Server
– Perl Code Generation
– Fetch & Store
– Version
– Translate
Currency Code Fragment
• Generated SQL
• Why
– Optimization
– Validation
Fake Data
• Tools • Pieces & Parts
– Perl – Datgen
– UltraEdit32 – Dim Files
– Datgen.pl – INX file
Configuring INX
$num =
int($df[0][$i]*$df[1][$j]*$df[2][$k]*$df[3][$l]*$df[4][$ii]*$adj)+1;
$dat = $dates[int(rand 36)+1];
$record =
"$topdim[0][$i]\t$topdim[1][$j]\t$topdim[2][$k]\t";
$record .=
"$topdim[3][$l]\t$topdim[4][$ii]\t$dat\t$num\n";
print OUT $record;
}
}
}
}
}
close OUT;
print "done.\n";
Q&A