The Planning Quest Simulators
📖 I–III ⚔ IV–V 📘 Groovy 👑 VI–IX ⚡ Gr.II 📝 Quiz 🃏 Cards 🔬 Labs ⚙ CLI 🆕 New 🎯 Interview 🏆 Cert 🔍 Search

⚙ Interactive Simulators

Hands-on tools for BSO architecture, Data Integration, Groovy performance, and SubVar management

🧊 BSO Block Size Calculator
Calculate Essbase BSO block size from your dimension configuration. See exactly why Account and Period must be dense — and what happens when you get it wrong. Target: 100KB–200KB per block.
Dense Dim 1 (Account) members
Dense Dim 2 (Period) members (12 months + Q1-Q4 + YTD + Full_Year)
Sparse dims
Data fill % % of sparse combos have data (typical: 10–25%)
💡Why this matters: A block size of 2MB means every single Essbase read loads 2MB from disk — even if you only want one cell. 100 entity reads = 200MB I/O. That's why a tight dimension design can make calc scripts 50x faster. Target the 100–200KB sweet spot.
🔧 Substitution Variable Manager
Simulate Vision Corporation's SubVar configuration. Edit values and see which forms, rules, and reports are instantly affected — without touching a single form definition.
VariableCurrent ValueTypeAffectsAction
💡EPM Automate command: epmautomate setSubstitutionVariable CurPeriod Apr — advance all 50+ forms in one command. Schedule this at period-end and Finance arrives to fresh numbers every morning.
🗺 Data Integration Mapping Builder
Click a Source field, then click its Target EPM dimension to create a mapping. Build Vision Corporation's SAP→EPBCS mapping and see the generated rule.
📤 SAP Source Fields
📥 EPM Target Dimensions
⚡ Groovy Batch Write Visualiser
See exactly why setCell() in a loop destroys performance — and how setDataCellValues() solves it. Set your entities and accounts, choose the pattern, and see the network call timeline and timing estimate.
Entities
Months
Pattern
🚨Performance Rule #1: Never call setCell() inside a loop. Each call = one Essbase network round-trip. For 8 entities × 12 months = 96 individual calls. The batch pattern = 1 call. At 50ms per round-trip: 4.8 seconds vs 0.05 seconds.