Author: Brent Orr is a Certified Master Anaplanner and Global Data Architect at Accenture.
Set to the tune of 'Twas the night before Christmas'.
’Twas the sprint before go-live
’Twas the sprint before go-live, when all through the model,
Not a calc was circular, not even a toddle.
The blue cells were sparse, all formatted with care,
In hopes that St. Planual soon would be there.
The end users nestled all snug in their seats,
While visions of UX cards danced with their sheets.
And I with my laptop, and they with their asks,
Had just settled in for a few final tasks.
When out in Dev tenant there arose such a clatter,
I alt-tabbed from Slack to see what was the matter.
Away to the history log I flew like a flash,
Tore open the ALM pane — please don’t crash.
The source–target mapping on the new import flow
Gave the luster of horror to objects below.
When what to my bloodshot eyes should appear,
But “Dimension mismatch” and an ominous sneer.
With a grizzled old builder so lively and spry,
I knew in a moment it surely was… me (oh my).
More rapid than CloudWorks my fixes they came,
I whistled and muttered and called lists by name:
“Now L1! Now L2! Now L3 unite!
On Variant! On Style! On Category bright!”
To the top of the hierarchy — don’t you dare fall!
Now aggregate, aggregate, aggregate all!
As SYS modules soar when good builders try,
When they meet a hard problem and refuse to ask “Why?”,
So up to the blueprint my cursor then flew,
With a brain full of mappings, and a lookup or two.
And then, in a heartbeat, I heard on the chat
The pinging and dinging of “Can you just… fix that?”
As I turned to the UX and was spinning around,
Down fell a card with no context to be found.
It was dressed all in grids, from the headers to base,
And the layout was tangled, all over the place.
Its line items twinkled, its formats looked right,
But Sums mixed with Lookups? A terror at night.
A SELECT on a list hiding deep in the code —
I winced, for such sin might cause Prod to explode.
The eyes of the client — how they started to glow!
Their emails like snowflakes began to bestow:
“Just one tiny change,” they said with a grin,
“Can we pivot fake time and add Climate back in?”
I spoke not a word, but went straight to my work,
Untangling logic where gremlins might lurk.
I duplicated modules, but lean, not obscene,
Then pushed all the logic to SYS, nice and clean.
I mapped each product level, from fine up to broad,
With booleans so tidy they made users applaud.
Each LOOKUP and SUM had a crisp single role,
No SELECTs in target, no rogue top-level goal.
The UX got reshaped with a deft little click,
I turned off the totals that recalced not quick.
Then context selectors—just one, not a herd—
Drove every dimension with one simple word.
The performance returned, every calc running fast,
No more stalling rollups like ghosts of the past.
And users exclaimed as they tested with glee,
“This page actually works how we thought it would be!”
I flipped to ALM with a satisfied sigh,
Compared Dev to Prod with a critical eye.
Then pressed “Create Revision,” with fingers crossed tight,
And deployed to Production that cold winter night.
The jobs all completed with nary a hitch,
Not one lonely error, not one broken switch.
And I stepped from my desk into winter’s soft light,
Breathing out a blessing for models done right:
“May your logic stay elegant, your futures bright—
Happy planning to all, and to all a good night!”