jason w. jones

software from the trenches

Thriller 1.1: MDX Over JDBC, Now Open Source

Ten years ago this month, I wrote about running MDX queries through a JDBC driver, and the “(for fun?)” in that title was doing a lot of work. It started with a phone call from Brian Marshall while I was waiting at Boston Logan for my flight home, during which I said something like “you could probably knock it out in a day or two.” Then I had a laptop and a five hour flight to Seattle, and the outcome was never really in doubt. It was a fever dream of a side project, and I loved it.

I called it Thriller. MDX over JDBC: MJ. Michael Jackson. Thriller. That is just how my brain works, and I have made my peace with it.

Continue reading Thriller 1.1: MDX Over JDBC, Now Open Source →

Bring Your Own Context: Building a Hyperion Planning Docker Image

Let me be upfront: on-premises Hyperion Planning is old software. It predates Oracle buying Hyperion, Oracle’s future for Planning is the cloud, and there isn’t really an on-prem product left to move to. I’m not under any illusion that it’s modern. But a customer still runs it, on 11.2, and supporting them means jumping through some hoops.

This post is about one of those hoops. There’s now a Hyperion Planning 11.2 Docker image. Run docker compose up, wait about twenty minutes, and you’ve got Workspace, Shared Services, Planning, Calculation Manager and Essbase running against SQL Server, with the Vision sample app a few clicks away.

I didn’t write it. Claude did.

I’ve been telling people that Claude one-shotted it, and from where I sat, that’s true: I described what I wanted, pointed it at the right material, and later came back to a working image. What happened in between is the part I want to talk about. (The build scripts are on GitHub. More on that at the end.)

Continue reading Bring Your Own Context: Building a Hyperion Planning Docker Image →

Opting Into Simplicity

This blog turns nineteen next month. Where did the time go?!

I started it in November 2007 because I was snowed in. A storm had come through, I was working from home, and I spent the day poking at a test server instead of doing anything sensible. The first post is called A day spent on tuning, and it is about an hour-long load across eighteen databases that I wanted to make quicker — and, while I was in there, simpler. Faster and simpler, like those were obviously the same job.

It is 743 characters long and it stops, mid-thought, on the sentence “So how does the current process work?”

I’m fairly sure there used to be more of it. Somewhere in nineteen years of upgrades and server moves and plugin churn, the rest of that post evaporated, and I couldn’t tell you when. The oldest copy I can find anywhere, including the Internet Archive, is from 2017, and it was already a stub.

Continue reading Opting Into Simplicity →

Essterm 1.0: Essbase Ad Hoc in Your Terminal, Now Open Source

Back in 2017 I introduced Essterm, a terminal-based ad hoc client for Essbase, by asking whether you had ever wished you could do multi-dimensional analysis in a terminal, the way the Pilgrims did it. I also said I would probably release it as open source “sometime later this year.”

Reader, it was not later that year.

It is, however, now. Essterm is on GitHub under the Apache 2.0 license, and there is a 1.0.0 release with a runnable jar you can download and point at your own server.

Continue reading Essterm 1.0: Essbase Ad Hoc in Your Terminal, Now Open Source →

The Fusion of Essbase and AI

I will presenting at Kscope25 this year. Usually I present on an established technology or feature, such as how to use the Essbase REST API, advanced drill-through techniques, or containerizing Essbase with Docker. But this year I really wanted to look forward, not back, and what better way than to talk about the intersection of Essbase with AI? The full title of my presentation is From Cubes to Cognition: The Fusion of Essbase and AI.

My goal for this presentation is to dive meaningfully into the intersection of Essbase – an established enterprise technology that usually lives in a fairly conservative (technology-wise) department such as finance – and AI, which is much newer, but also revolutionizing how business gets done. Hope to see you there!

Continue reading The Fusion of Essbase and AI →

The Complete Guide to Essbase 21 on Docker

This post will be something of a followup to my Kscope22 presentation on creating an Essbase 21 Docker image. Back in June during the presentation, I mentioned that while the images I had created prior to the conference were working fine, when I went to rebuild them for purposes of confirming the presentation details and creating new screenshots, I was inexplicably running into issues with the Essbase server. It would seem to start up fine, but I couldn’t actually login. I now know what that issue was and in the steps that I’ll describe in this post, I’ll call out what the fix is.

Unlike my previous efforts to build an Essbase Docker image based on the EPM 11.1.2.4 product line, the Essbase 21 Docker image actually relies on Oracle’s own scripts that they provide. This post will completely walk you through everything you need to do to create your own Essbase 21 Docker image, including how to patch it to a later point release such as 21.3, how to fix the bug I was running into in June, how to run it, load some sample data, share it with others, and different URLs for using the REST API, XMLA, and more.

Continue reading The Complete Guide to Essbase 21 on Docker →

Simple Docker Compose file for Essbase

I’m working on a few things and some future blog posts and as with many of the things I am doing these days, I am using a Dockerized Essbase server. If you or your company has successfully followed the steps as laid out in the docker-essbase GitHub repository, then you have a Docker image for an Essbase server. There are a few ways to actually run this image. Generally you will want to run the Docker Essbase server from its “compose” file. The compose file is a YAML syntax file that specifies how to tie multiple docker images into a server. In this case those multiple Docker images are the Essbase image/container itself and a Microsoft SQL Server image/container that houses the relational databases that Essbase requires.

Continue reading Simple Docker Compose file for Essbase →

Dodeca HFM Connector: Getting Started

Dodeca Spreadsheet Management System customers have been asking for HFM support for quite some time (some for years!) – and now we have it. For the last few months we have been testing out the new Dodeca HFM Connector with very compelling results. In order to understand how to use this new connector in your existing Dodeca environment, it’s important to understand a bit about how this connector works, and how to deploy it. I’ll cover this and more in this blog post.

Continue reading Dodeca HFM Connector: Getting Started →

Drillbridge 3.4.6 Token Enhancements: Join Character and Line Removal

Drillbridge 3.4.6 will be publicly released soon. It contains a couple of enhancements to give developers even more control over the way their queries are generated.

For each token, you can now optionally specify the “token join text” as well as certain “line removal members”.

Continue reading Drillbridge 3.4.6 Token Enhancements: Join Character and Line Removal →

So I’m running for the ODTUG Board (Please Vote)

Hi all – I haven’t been blogging as much as I would like to lately (there’s a lot going on!) but I do want to write a quick note. I’m running for the ODTUG Board of Directors. You can check out my campaign statement, goals, and short biography over there along with the other fine candidates.

Briefly, I have been involved with ODTUG in one way or another for almost a decade and a half. It’s an organization that I respect and look up to – and I would love the opportunity to bring my energy and skills to the cause of improving this organization even more.

If you are eligible to vote for the ODTUG board (i.e. you are a member in good standing) and believe I would be a good addition to the board, then I ask that you please vote for me. Voting closes soon, so check your inbox for a mail from “association voting” from a week or so ago – it has the instructions and your unique ID to cast your vote.

Continue reading So I’m running for the ODTUG Board (Please Vote) →