Monday, August 10, 2026

Is Essbase Making a Comeback? What You Need to Know.

At the recent Kscope26 conference, Oracle showed the next generation of Essbase in several different sessions. I came away from the conference more excited about the future of Essbase than I have been in a long time.

For several years, I have heard people suggest that Essbase is dead or that Oracle is no longer investing in it. Based on what Oracle showed at Kscope26, that does not appear to be the case.

Essbase remains very important under the covers of a number of Oracle applications. Oracle Cloud EPM is the most obvious example, but Essbase technology is also used throughout Oracle’s application portfolio. Many of the improvements Oracle has made to Essbase over the past several years have probably been driven by the requirements of those applications, even though standalone Essbase customers may not have seen much promotion or discussion of that work.

Now, Oracle appears to be preparing to make Essbase much more visible.

The most significant development is the increasingly close relationship between Essbase and Oracle Autonomous AI Lakehouse. When that relationship is combined with federated cubes, AI-assisted cube creation, natural-language queries, the Essbase MCP server, and Oracle’s growing multicloud strategy, I think it could represent a major new chapter for Essbase.

Let’s look at what Oracle is doing and why it matters.

Oracle Autonomous AI Lakehouse

Over the past year, Oracle has been positioning Autonomous AI Lakehouse as a foundation for enterprise data, analytics, and artificial intelligence.

This is not simply another place to store data.  It serves:
  • Relational data
  • Data lake storage based on Apache Iceberg
  • Vector data for retrieval-augmented generation
  • AI inference
  • SQL analytics
  • Machine learning
  • Governance and security
  • Integration across OCI, Microsoft Azure, AWS, and Google Cloud
The key idea is that AI and analytics should operate where the enterprise data already lives.

Instead of continually moving information into separate AI platforms, Oracle wants organizations to apply AI, analytics, machine learning, vector search, and natural-language access directly to governed enterprise data.

That can include relational information stored in Oracle, data stored in Apache Iceberg tables, and information managed across other cloud and lakehouse platforms, including Snowflake and Databricks.

This is important because companies do not want to create another uncontrolled copy of their most sensitive financial and operational data simply so an AI assistant can use it. They want AI to work with current information while continuing to respect enterprise security, access controls, governance, and data-management policies.

Essbase is clearly becoming part of this broader vision.

Essbase can provide a dimensional business model over information managed in Autonomous AI Lakehouse. Essbase provides the dimensions, hierarchies, calculations, and familiar analytical interfaces, while the detailed data can remain in the lakehouse.

That represents a significant architectural shift.

To be clear, Oracle has not formally announced that Essbase itself will become a native database engine inside Autonomous AI Lakehouse. However, the direction is becoming much clearer, and Oracle has been talking about this concept for over a year. Further, they showed some very impressive demos at Kscope26. My expectation is that this innovation will be announced very soon.

Making Essbase More Available

For quite some time, Oracle has made Essbase available through the Oracle Cloud Infrastructure Marketplace, or OCI Marketplace. Although the Marketplace deployment works well, Oracle has not promoted standalone Essbase very heavily.

Unless you were already an Essbase customer or specifically looking for the product, you might not even know it was available.

Oracle’s work to connect Essbase more closely with Autonomous AI Lakehouse could change that.

Traditionally, customers have thought of Essbase as a separate analytical server. An Essbase environment includes applications, outlines, calculation scripts, rule files, data files, security definitions, and other supporting components. The server must be provisioned, configured, patched, monitored, and maintained separately from the source database.

The architecture Oracle demonstrated appears to bring Essbase much closer to the Oracle Database and lakehouse platform.

As we understand it, the Essbase application components will all be stored in the database, while Essbase uses Autonomous AI Lakehouse as its storage and processing platform. This could simplify the architecture considerably and make Essbase easier for Oracle Database customers and developers to discover.

Oracle has followed an interesting accessibility strategy for years with Oracle Application Express, or APEX. APEX is a web-based application development environment that runs on top of Oracle Database. It allows developers to build browser-based applications directly against information stored in the database without requiring an entirely separate application-development stack.

APEX has become extremely popular. In fact, a significant portion of the Kscope community and conference content is now dedicated to APEX.

Could making Essbase more readily accessible with Oracle Database create a similar opportunity?

Oracle Database has an enormous installed base. An estimated 400,000 companies may use Oracle Database worldwide. If even a small percentage of those companies are introduced to Essbase through Autonomous AI Lakehouse, it could bring multidimensional analysis to a very large group of database developers, data engineers, and business analysts who may never have considered deploying a traditional Essbase server.

I think that could be a very significant development.

Federated Cubes Change the Architecture

The clearest example of the relationship between Essbase and Autonomous AI Lakehouse is the federated cube.

Most traditional Essbase applications require a data-loading process.

Typically, data is extracted from a relational database or another source system, transformed into the format needed by Essbase, and then loaded into the cube. Depending on the application, that process may run monthly, nightly, hourly, or perhaps every few minutes.

No matter how frequently it runs, there is usually some delay between the time a transaction is recorded in the source system and the time it becomes available in Essbase.

There is also a substantial amount of infrastructure associated with the process. Someone must create and maintain the extracts, transformation rules, load rules, scheduling, error handling, reconciliation, and operational monitoring.

Federated cubes provide a different approach.

With a federated cube, Essbase can query detailed data stored in Autonomous AI Lakehouse directly. The data does not have to be copied into the traditional Essbase storage engine before users can query or aggregate it.

The Essbase outline continues to contain the dimensional metadata, including dimensions, member names, hierarchies, and formulas. The corresponding detailed information remains in a fact table within Autonomous AI Lakehouse.

In other words, Essbase provides the business-oriented multidimensional model while Autonomous AI Lakehouse stores and processes the underlying data.

This is a significant architectural shift because, historically, data generally had to be loaded into an Essbase cube.

With a federated cube, the detailed data can remain in the lakehouse.

Essbase Calculations Still Matter

One of the important points about federated cubes is that customers do not have to give up the analytical features that make Essbase valuable.

Organizations can still define dimensions, hierarchies, member formulas, calculations, and business logic in Essbase.

When calculations and queries are executed, Essbase can analyze the request and, whenever possible, translate the required work into SQL. That processing can then be pushed into Autonomous AI Lakehouse so the computation occurs close to the data.

Not every Essbase operation will necessarily be pushed into the database. Some calculations may still be processed by Essbase.

However, the general principle is important: perform the work where it makes the most sense.

Essbase continues to manage the multidimensional model and business logic. Autonomous AI Lakehouse manages the detailed data and performs SQL-based processing whenever possible.

This can improve scalability and reduce data latency because detailed information does not have to be copied into Essbase before it can be analyzed.

Live Data Without Traditional ETL

Think about what this means operationally.

If someone adds or updates information in the underlying lakehouse fact table, the updated information can become available to the Essbase application without waiting for the next traditional export-and-load cycle.

Organizations could potentially build real-time or near-real-time analytical applications without developing and maintaining the same type of data pipeline required by a conventional Essbase cube.

There is no need to create another complete copy of the detailed data merely so Essbase can query it.

This can reduce the cost and complexity surrounding ETL. It may also eliminate some of the reconciliation problems that occur when the source system and the analytical cube contain different versions of the data.

Writeback can also be supported. Information submitted through an Essbase interface can be written to stored intersections in the lakehouse fact table, while Essbase calculations and data-loading operations can generate updates to the underlying table.

That makes the relationship bidirectional rather than limiting it to read-only reporting.

Of course, real-time access does not eliminate the need for good design. Organizations still need appropriate dimensional models, governance, security, calculation logic, performance planning, and controls over writeback.

However, reducing or eliminating the traditional data-loading process could remove a substantial amount of technical complexity.

Essbase Gets a Broader Reach

The broader Autonomous AI Lakehouse strategy makes this even more interesting.

Autonomous AI Lakehouse supports Apache Iceberg and is designed to work with information stored across other data platforms and cloud environments. Oracle can connect to data and metadata associated with platforms such as Databricks, Snowflake, AWS, and other lakehouse environments.

Oracle can then apply capabilities such as SQL analytics, machine learning, AI Vector Search, graph analytics, spatial analytics, and natural-language querying to that information.

Now combine those capabilities with Essbase.

It may become possible to provide an Essbase dimensional model over a much broader collection of enterprise information.

For example, financial information may be stored in Oracle while operational data resides in Databricks, Snowflake, or an Iceberg-based data lake. Essbase could provide a common analytical model over that information.

Users would continue to think in terms of accounts, entities, products, customers, scenarios, periods, and organizational hierarchies. They would not need to think about physical files, database tables, object-storage locations, joins, or cloud-provider boundaries.

That is one of the things Essbase has always done extremely well. Essbase organizes information in the way business users think.

Autonomous AI Lakehouse can provide access to distributed enterprise data. Essbase can provide the dimensional business model, calculations, and interactive analytical experience over that information.

I think that combination could be extremely powerful.

AI Where the Data Lives

There is also an important AI implication.

A central part of Oracle’s positioning is that AI should operate where governed enterprise data already resides.

Autonomous AI Lakehouse includes capabilities for vector search, retrieval-augmented generation, in-database machine learning, natural-language SQL, and agentic workflows. These capabilities can operate against enterprise data while remaining subject to security, access controls, and governance.

This helps address one of the biggest challenges companies face with enterprise AI.

Companies do not want to move all of their sensitive financial and operational information into a separate environment simply so an AI system can use it. They also do not want an AI assistant to bypass the organization’s existing security and governance policies.

Running AI close to the data can reduce unnecessary data movement, preserve existing controls, and give the AI access to current enterprise information.

Essbase adds another important layer to that architecture.

The detailed data may reside in relational tables or Iceberg storage, but the business meaning of that data is often expressed through the Essbase model.

The Essbase outline tells us which members belong to which dimensions, how entities roll up into regions, how accounts are categorized, which calculations define important business metrics, and how users are permitted to access the information.

In that sense, Essbase does more than provide another query engine.

It provides a business-oriented semantic model.

That may become one of the most important roles Essbase plays in Oracle’s enterprise AI strategy.

Using AI to Build Essbase Cubes

Oracle demonstrated AI-assisted Essbase cube creation at Kscope26.

Building a good Essbase application has always required a combination of technical skill and business knowledge. The developer must understand the source data, identify the fact tables and measures, determine the dimensions, build the hierarchies, and decide how the application should aggregate and calculate information.

Oracle showed AI technology that can analyze database tables and recommend a potential Essbase cube structure.

For example, the AI can identify a table that appears to contain measures such as revenue, units, cost, or margin. It can then identify the keys that relate those measures to customers, products, entities, periods, or other potential dimensions.

Based on those relationships, the AI can recommend dimensions and hierarchies and then help create the Essbase application.

The AI is essentially looking at a relational star schema and recommending how it could be represented as a multidimensional Essbase model.

I do not think this eliminates the need for an experienced Essbase developer. The technology may be able to identify relationships in the data, but it does not necessarily understand every business rule or know how management wants to analyze the company.

There are often several technically valid ways to organize the same information. Determining the best design still requires someone who understands the business.

However, AI-assisted cube creation could give developers a very good starting point. Instead of creating every dimension and hierarchy manually, a developer could begin with the AI-generated model and refine it.

It could also make Essbase more approachable to Oracle Database developers who have never built a multidimensional application.

From Relational Tables to a Working Cube

The AI cube builder becomes even more interesting when paired with federated cubes.

In a traditional project, AI might identify the fact table and dimensions, but someone would still need to build a process to export the data and load it into Essbase.

With a federated architecture, the source data is already available to the Essbase application.

The AI can identify the tables, recommend a cube, create the dimensional structure, and connect that structure to data that remains in Autonomous AI Lakehouse.

The entire process could become dramatically faster.

A developer could potentially move from a collection of relational tables to a working Essbase analytical application without building a traditional ETL process and without maintaining a second copy of all the detailed data.

That could change the economics of creating Essbase applications.

Applications that once required a major implementation project may become practical for smaller departments, shorter-term projects, or specialized analytical requirements.

Natural-Language Queries

Another interesting capability is the ability to ask Essbase questions using natural language.

Instead of requiring the user to know MDX or manually construct a report, the user can describe the information they want in ordinary language.

For example, a user might ask:

“Show revenue and gross margin by region for the current quarter compared with last year.”

Essbase can interpret the request, determine the relevant dimensions and members, generate the appropriate query, and return an Essbase grid.

The user can then work with the result just as they would any other Essbase report. The grid can be pivoted, drilled into, recalculated, or opened in another interface for additional analysis.

Depending on the interface, the question could be typed or spoken.

The fact that Essbase returns a grid is important.

Many AI tools return a paragraph describing what they believe the answer to be. That can be useful, but financial and operational users often need to see the actual numbers arranged in a structured report. An Essbase grid gives the user something that can be reviewed, drilled into, recalculated, and validated.

It is not simply an AI-generated narrative. It is an interactive analytical result.

The Essbase MCP Server

The Essbase MCP server may be one of the most interesting new capabilities of all.

MCP stands for Model Context Protocol. You can think of MCP as a standardized middle tier between an AI assistant and an enterprise system.

The AI assistant does not need unrestricted access to the underlying database. Instead, the MCP server exposes specific tools and operations that the assistant is permitted to use.

In the case of Essbase, those tools might include listing applications, examining an outline, finding members, running queries, retrieving data, executing calculations, or performing other approved operations.  

The MCP server also respects security and limits what a particular user or AI assistant is allowed to do. What makes this especially interesting is that an MCP server enables companies use their chosen AI platform. A company standardized on Microsoft Copilot might connect Copilot to the Essbase MCP server. Another company might use ChatGPT or a different MCP-compatible AI platform.

The intelligence does not necessarily have to come from an Oracle-specific AI interface. The company can use the AI technology it has already selected while using Essbase as the governed analytical source.

Consider an example.

Suppose a regional cost-of-goods-sold number is significantly over budget. A financial executive might ask:

“Which entities contributed the most to the unfavorable cost-of-goods-sold variance in the Southeast region?”

The AI assistant could use the Essbase MCP server to examine the outline, identify the appropriate region, find the entities beneath it, retrieve actual and budget data, calculate the variances, and return the entities that contributed most to the result.

The user does not need to know the exact member names or how to write the query.

The AI assistant can formulate the query, but the numbers still come from Essbase. The existing dimensions, hierarchies, calculations, and security rules continue to apply.

That is a much better model than simply asking a general-purpose AI tool to guess at the answer.

Why This Is Important for Dodeca

These developments also strengthen the position of Dodeca.

Oracle is making it easier for AI systems to discover, query, and analyze enterprise data. That is important, but discovering data is only part of the problem.

Organizations also need a trusted way to present the information, apply business context, enforce workflow, validate results, and deliver reports that people can confidently use to make decisions.

That is where Dodeca is different.

Dodeca provides curated and governed reports, business context, enterprise security, and trusted spreadsheet-based analysis. It gives organizations a controlled environment for delivering the reports and applications that finance and operational users depend on every day.

As AI becomes better at asking questions and finding information, companies will increasingly ask a different question:

“How do I know this result is correct?”

Dodeca is well positioned to answer that question. 

The opportunity is not for Dodeca to compete with Oracle’s AI capabilities. It is to complement them. Check out: Don’t Just add AI, Add Confidence 

An AI assistant may be able to identify an interesting variance or discover a pattern in the data. Dodeca can provide the governed report that places the result in context, shows the supporting detail, applies the organization’s calculations and presentation standards, and gives the user a trusted analytical experience.

Further, the upcoming Dodeca MCP server will an AI assistant to identify the appropriate Dodeca report, open it, retrieve the governed result, and use that report as evidence supporting the AI-generated answer.

Instead of the AI saying:

“I believe this is the answer.”

It could say:

“Here is the answer, and here is the governed Dodeca report that supports it.”

That is an important distinction.

Many organizations have invested heavily in enterprise systems intended to eliminate uncontrolled spreadsheets. Yet business users continue returning to spreadsheets because they are familiar, flexible, and effective for financial analysis.

The problem is not the spreadsheet interface itself. The problem is uncontrolled spreadsheets, inconsistent formulas, disconnected data, and a lack of governance. Dodeca preserves the familiar spreadsheet experience while placing it inside a controlled enterprise platform.

In that sense, the Dodeca opportunity becomes even more interesting when we return to the APEX comparison. APEX provides a web-based application development interface on top of Oracle Database. It helps developers turn database information into governed browser-based applications.

Over the years, numerous people inside Oracle have referred to Dodeca as “APEX for Essbase.” I think that comparison is increasingly appropriate.

Dodeca provides an application-building and delivery platform on top of Essbase and other enterprise data sources. It allows organizations to create sophisticated spreadsheet applications, guided analytical workflows, reports, planning solutions, and operational processes without handing users an uncontrolled collection of Excel files.

Just as APEX helps developers build applications on top of Oracle Database, Dodeca helps organizations build governed business applications on top of Essbase.

However, Dodeca goes beyond simply displaying data.

It brings together Essbase, relational data, calculations, security, commentary, auditability, and familiar spreadsheet presentation in a single application environment.

As Oracle expands Essbase through Autonomous AI Lakehouse and introduces it to a broader population of database and AI developers, Dodeca can provide the application layer that turns those multidimensional models into trusted, business-ready solutions.

Oracle can make the data and analytical engine more accessible.

Dodeca can make the resulting information usable, governed, and actionable.

That is a highly complementary message, and I believe it creates a significant opportunity for both Essbase and Dodeca.

Oracle’s Multicloud Strategy

There is one more important piece to this story.

Oracle Autonomous AI Lakehouse is part of a broader multicloud strategy.

Oracle is making its database services and related technologies available in conjunction with OCI, Microsoft Azure, AWS, and Google Cloud.

This is important because most large companies already operate in more than one cloud.

A company may use Azure for application services, AWS for a data lake, Google Cloud for AI, and Oracle for financial and operational databases. Requiring the company to move everything to a single cloud is usually not realistic.

Oracle’s multicloud strategy recognizes that reality.

Autonomous AI Lakehouse is intended to bring analytics and AI to the data, regardless of whether the information is associated with OCI, Azure, AWS, Google Cloud, an on-premises environment, or another lakehouse platform.

This makes the opportunity for Essbase even larger.

Essbase would not be limited to customers building exclusively on OCI. It could participate in modern analytical architectures that span multiple clouds, catalogs, storage systems, and data platforms.

Is Essbase Back?

I am not sure Essbase ever really went away.

It continued to serve as an important analytical engine inside Oracle applications, and thousands of companies continued to rely on standalone Essbase for mission-critical reporting, analysis, and planning.

What changed was its visibility.

For several years, Oracle did not talk very much about standalone Essbase. There was not a large marketing campaign, and it was sometimes difficult to tell where the product fit into Oracle’s broader database, cloud, and AI strategy.

Based on what Oracle showed at Kscope26, that picture is becoming much clearer.

Oracle is positioning Autonomous AI Lakehouse as an open and governed foundation for enterprise analytics and artificial intelligence.

Essbase can provide a multidimensional business and semantic model over the information in that platform.

Federated cubes allow detailed data to remain in Autonomous AI Lakehouse rather than requiring traditional Essbase data loads. Calculations and queries can be translated into SQL and pushed into the lakehouse whenever possible. AI can help design the cube. Natural-language interfaces can make the information easier to query. MCP can make governed Essbase capabilities available to enterprise AI assistants.

Dodeca can then provide the governed application and reporting layer that turns those capabilities into trusted business solutions.

Taken together, these developments place Essbase in a much broader data and AI architecture than it has occupied in the past.

I think Oracle is positioning Essbase to become an important multidimensional analytical and semantic layer for its modern data and AI platform.

That is a very exciting direction.

Of course, some of the functionality demonstrated at conferences may still be under development. Product names, features, licensing, architecture, and release dates may change before everything becomes generally available.

Oracle has not announced that Essbase itself is becoming a native engine inside Autonomous AI Lakehouse.

However, the current federated-cube architecture and the capabilities Oracle demonstrated at Kscope26 show that Essbase is becoming increasingly connected to Oracle’s lakehouse and enterprise AI strategy.

The direction seems clear.

Essbase is not dead.

In fact, I think we may be seeing the beginning of an Essbase renaissance.

As someone who has worked with Essbase for many years, I am absolutely thrilled to see it.

 

Monday, January 5, 2026

So Long 2025 and Welcome 2026

As we wrap up 2025 and head into 2026, it’s worth taking a quick look back and taking a sneak peek ahead.

We were proud to show our leadership in the Oracle community by once again being the top-level Titanium sponsor of the ODTUG Kscope25 conference in Grapevine, Texas. Kscope is the top technical event for people working with Oracle EPM, Oracle APEX, Oracle Cloud Infrastructure, Oracle Database, and other related technologies. It was a lot of fun seeing customers, partners, and friends in person.

This past year was also a great one for Dodeca. We added some initial AI capabilities, delivered significant enhancements for EPM Cloud, and introduced direct support for several new data sources such as Oracle Cloud EDM and Parquet. We also strengthened security by enhancing support for both SAML and OAuth authentication.

We had some fantastic customer presentations as well including a presentation where one customer shared how Dodeca helped their organization save more than 1,600 man-days per quarter. That is just one of many similar stories we hear from customers.

To add to our acclaimed technical support, we introduced free, online, hands-on training for Dodeca. In this 3-hour, instructor-guided class, you can try Dodeca for yourself and see what all the hype is about. As a self-funded, founder-led company, our measure of success isn’t profitability. Instead, it is the success of our customers who continue using our products in mission-critical applications year after year.

We did have some sad news this year.  In late October we lost our Chief Operating Officer, Michael McCarty, after a short illness. Michael was a friend for 30 years and helped lead our company for the past 25 years. His experience and humor are deeply missed, and we’re grateful for everything he contributed to our team and our work.

Looking ahead to 2026, we’re excited to keep pushing forward. We’ll continue adding capabilities to help customers eliminate spreadsheet chaos and use standardization, automation, and enterprise integration to bring confidence to the accuracy of corporate spreadsheets. And if you’re not yet a Dodeca customer, hopefully this will be the year you discover what Dodeca can do for you.

Here’s to a great 2026.

 

Monday, September 29, 2025

Happy 40th Birthday to You, Excel!

I thought about calling this post, “The Meaning of Life: Excel Edition”, as Excel has played such an important part of my life.

My lifelong journey with spreadsheets began in college. Back then, I assigned portions of assignments to different members of my group and asked them to give me their work in SuperCalc format. I then assembled and integrated everything into a single project. That was my first real glimpse of how powerful spreadsheets could be, a skill I expanded in my first job at Deloitte.

It was the late 1980s, and I quickly discovered that working with spreadsheets was more fun than doing normal accounting work. I drafted audit schedules and even learned to program using macros in Lotus 1-2-3. That curiosity led me to my first true spreadsheet job in Huntsville, Alabama, at Intergraph, where I handled international consolidations in SuperCalc 5. In that role, I both leveraged and expanded my spreadsheet skills. Within a year, I had automated all spreadsheet reporting and took on additional responsibilities for automating some reports for our corporate reporting department.

At Intergraph, I saw my first graphical spreadsheet—Wingz from Informix—and I thought it was terrible. Keyboard support was non-existent, which slowed everything down compared to the “slash” commands used in the DOS spreadsheet products.

That perception completely changed the first time I used Excel. I led the effort to standardize on Excel at Intergraph, where I managed international consolidations for 45 subsidiaries. In those days, I had the very first true PC in the company. It was on a cart that was supposed to be shared by the entire Finance Department—but it lived in my office. That’s where I got my first real hands-on experience with Excel, starting with version 4.0. From then on, Excel was central to my career.

Initially, I learned macros in Excel using the old XLM language, which felt natural after my experience with SuperCalc. But when Excel 5 introduced VBA in 1994, I dove in headfirst and started doing things that had never been done before. I was probably the first person to hook up Excel to Oracle Financials in a pivot table during the Excel 5 beta program! That also gave me a glimpse of the possibilities spreadsheets opened up. It also exposed some of the complexities, as the SQL query for that pivot table required a nine-table join.

My passion for Excel only grew stronger when I attended Microsoft TechEd in 1993 and met some of my Excel heroes. Around the same time, I started answering questions in the CompuServe Excel forum, which became my first real experience with community support. I’d read questions in the evening, experiment at work the next day, and then return with answers.

Before long, Microsoft recognized a few of us CompuServe forum contributors as MVPs, or “Most Valuable Professionals.” At the time, none of us really knew what that meant. All we knew was that we were getting T-shirts and trinkets for doing what we loved: helping people use Excel better. Still, it was quite an honor, as there were only five of us “Charter MVPs” in the entire world.

Excel opened doors I couldn’t have imagined. In late 1994, I left Intergraph to do Excel consulting, building Excel-based applications for companies, including Microsoft itself. Some of those applications were used personally by Bill Gates.

It was during this time that I encountered Essbase, which used Excel as its original interface. I wrote the first demoware for Essbase, the “Open Budget Pak,” a project funded by Microsoft to demonstrate Excel as a user interface for a database. After that product was complete, Arbor Software, the inventors of Essbase, sent me around the country working on the user interface side of high-profile Essbase projects. That experience was the spark that eventually led me to start Applied OLAP.

The first customer of Applied OLAP was a company in the telecommunications industry that used Essbase for reporting, but had an Excel-based budgeting system comprised of 1,200 linked Excel workbooks. That system was impossible to maintain, so I engineered and built a custom budgeting system for them using Visual Basic. The maze of linked workbooks I encountered there inspired me to create a product. Once I finished my work, I began conceptualizing our first product, ActiveOLAP, which was later adopted by numerous companies in the early 2000s.

Our flagship product, Dodeca, was born out of this journey. The idea came from decades of working with companies that used spreadsheets not just as tools, but as full-fledged, mission-critical systems. With Dodeca, we set out to standardize, automate, and streamline spreadsheet processes—reducing errors, saving time, and turning Excel into a true enterprise platform.

Forty years after its release, Excel has made a profound impact on my life. It gave me a career, introduced me to a global community, and led me to create products that continue to shape how businesses use data today.

If not for Excel, I honestly don’t know where I’d be. What I do know is that my life wouldn’t have been nearly as rich as it has been so far. I’m grateful that Microsoft invented Excel, and I’m proud of the path it set me on.

Let’s go back to the start of this post and my comment on Excel and the meaning of life. Look again at the formula and say, in English, what this formula is calculating.

That’s right—it reads, ‘To be, or not to be’! Ironically, no matter what numeric or Boolean value you place into cell $B$2, it always evaluates to TRUE. So, according to Excel, the ‘meaning of life’ is simply… truth.

Happy birthday, Excel—here’s to the next 40 years.

Time to Resurrect This Blog!

It’s been more than seven years since I last posted here, and I think it’s time to get back to writing.

There are a number of reasons I’ve been away from the blog. The biggest was a significant healthcare challenge within my family. My wife was diagnosed with early-onset Alzheimer’s disease, and for several years I was her full-time caregiver. Alzheimer’s is a terrible disease, and sadly, my wife passed away a couple of years ago. My experience is something I hope nobody reading this will ever have to endure.

During this time, I continued to run my company, but I had no energy left for writing. Those years were exhausting, and much of my creative energy went into the business itself. Now, though, I am recovering from the experience and have once again found myself with things I want to share. That’s why I’m bringing this blog back.

You may notice some visual updates here over time, such as a refreshed look and updated links, but more importantly, I hope to post new content on a more regular basis. I already have some ideas lined up, and my next post should be coming within the next day or two.

Thank you for returning to the blog. Over time, I plan to share not only my thoughts and opinions but also content related to Dodeca, Excel, Oracle Cloud EPM, Essbase, and Oracle ADW. I hope you continue to find useful insights here.

Sunday, March 18, 2018

Happy 20th Anniversary to Applied OLAP!


Today, March 18, 2018, is the 20 year anniversary of our incorporation! I has been a long journey since that time; here are some of the highlights:
  • 1998 - We were a one-man shop and wrote a reporting and budgeting application for a customer in New York. I spent about 150 nights that year on the road.
  • 1999 - ActiveOLAP for Essbase was released and we earned the trust of two of our long-term customers. It was during the next couple of years that I traveled to the West Coast about 35 times in one year.
  • 2003 - Portions of our web-service technology was acquired by Hyperion Solutions and we wrote the Hyperion Objects product based on that technology.
  • 2007 - The Dodeca Spreadsheet Management System was released.
  • 2014 - We hired our first resource to focus solely on sales. Prior to that, we marketed our software via 'word of mouth'.
  • 2016 - The Dodeca Excel Add-In for Essbase was released and we acquired the DrillBridge product.
During this time, we have grown the company organically without outside investment. While this strategy meant we had slower growth, the benefit is that it has allowed us to focus solely on the needs of our customers and not the needs of 'investors'. It also meant that we 'ate a lot of beans' in the early days. Those were great lessons in the value of a dollar that we carry with us today in the value of the software we provide to our customers.

Thank you to all of our customers. We feel lucky to work with each and every one of you and we continue to learn from each of you. We pledge to continue working hard to make your companies successful.

Tim Tow
Founder and President
Applied OLAP, Inc

Thursday, January 11, 2018

Using MDX for Generated Members in Essbase Reports


There are times when Essbase users may need to see an ad-hoc collection of members aggregated together in Essbase, and that isn’t always an easy task.  If it were an aggregation that is needed on a recurring basis, the Essbase administrator may add an alternate hierarchy to assist.  Other times, users might just create a spreadsheet with the desired members in different rows or columns and use Excel formulas to add them together.  In this blog post, I will cover a third option, the use of MDX to create dynamically-generated members, how to run them in Smart View, and how to make them much easier to use in Dodeca.

In order to illustrate how dynamically-generated members can be used, let’s consider an example using the Sample Basic database.  Here is a simple quarterly income statement query that I will use as the basis for this blog post:

SELECT
    {[Year].Children, Year} on COLUMNS,
    Hierarchize(Descendants([Profit]), POST) ON ROWS
FROM 
    Sample.Basic
WHERE 
    ([Market].[New York], [Product].[Colas], Actual)

The results from this simple query look like this:



This MDX is pretty straightforward, but what if you wanted to see how New York and Connecticut would look if they were combined?  This is the question that a generated member can return for you.

Generated members in MDX are created using the WITH MEMBER clause.  Moreover, the generated member can then be used anywhere a normal member can be used, even in a slicer dimension (or what we would call a ‘page field’ in the classic Essbase add-in or a point-of-view in Smart View).  Here is the query modified to use the new generated member:

WITH MEMBER
    [Market].[SelectedMarkets] AS 'SUM({[New York], [Connecticut]})'
SELECT
    {[Year].Children, Year} on COLUMNS,
    Hierarchize(Descendants([Profit]), POST) ON ROWS
FROM
    Sample.Basic
WHERE
    ([Market].[SelectedMarkets], Colas, Actual)

The results from this query look like this:


So far, so good, but there are a couple of things to note.  First, the member displayed in the POV is not a real member; that is to be expected.  This leads to the second thing in that you cannot refresh the query as an ad-hoc analysis; the dynamically generated member name will be replaced with the dimension member name in its place.

To go even further, what if you want to have multiple generated members?  In that case, the syntax is easy as you just continue with another MEMBER clause:

WITH MEMBER
    [Market].[SelectedMarkets] AS 'SUM({[New York], [Connecticut]})'
MEMBER
  [Product].[SelectedProducts] AS 'SUM({[Colas], [Grape]})'
SELECT
    {[Year].Children, Year} on COLUMNS,
    Hierarchize(Descendants([Profit]), POST) ON ROWS
FROM
    Sample.Basic
WHERE
    ([Market].[SelectedMarkets], [Product].[SelectedProducts], Actual)

The results of this query look like this:



The syntax for creating and using generated members is not that difficult, but there are a couple of things that make it a bit more difficult than it should be for end users to use this approach.

First, any time end users start having to deal with scripts of any kind, the level of complexity goes up exponentially.  As one of my mentors used to say, “The difference between zero lines of code and one line of code is much greater than the difference between one line of code and a hundred lines of code”.  In other words, it is hard to get users to deal with code of any kind.

Second, once an end user has to ‘write a line of code’, or script in this case, then they assume the responsibility for it being correct.  As there are differing levels of comfort and skill among users, the risk of error goes up.

Finally, when users use a script like the one used in this example, they have to type in the correct member names or, again, risk error. Here is the new MDX dialog in Smart View 11.1.2.5.720 showing where users type in the MDX including the member names.



To make it much easier for end users, Dodeca does a couple of things.  First, Dodeca developers can configure reports to use MDX without the end user ever having to know that MDX is powering the report ‘under-the-covers’.  Further, Dodeca has flexible Point-of-View selectors that allow the end user to simply pick which members they want to use in the query.

Dodeca report developers use tokens as a sort of substitution variables in the script.  The tokens are replaced in the script at run-time by the members selected by end users.  Here is the same script with tokens in place of the hard-coded values:

WITH MEMBER
  [Market].[SelectedMarkets] AS 'SUM({[T.Market]})'
MEMBER
    [Product].[SelectedProducts] AS 'SUM({[T.Product]})' 
SELECT
    {[Year].Children, Year} on COLUMNS,
    Hierarchize(Descendants([Profit]), POST) ON ROWS
FROM
    Sample.Basic
WHERE
    ([Market].[SelectedMarkets], [Product].[SelectedProducts], Actual)

The Dodeca Essbase Scripts editor has tools to help the report developer create and test MDX scripts.  Here are the Test Tokens available in the editor that allow developers to simulate the values plugged in by the Point-of-View selectors:


And the script itself in the scripts editor which has built-in testing facilities:



Finally, here is a Dodeca view that utilizes the tokenized MDX query and allows users to easily select the members they want dynamically aggregated and the report is produced without the risk of error.



Let me know if you would like to learn more about Dodeca and how it could help your company.


Thursday, January 4, 2018

Windows 10 Update Killed Essbase On My Laptop!


Like many Essbase consultants and developers, I run Essbase server on my Windows 10 laptop. It was a lengthy ‘Creator’s Update’ Windows update and, once it was complete, Essbase was dead on my machine. So, what do I do? First, I didn’t panic; us pilots have a way of not panicking when things don’t go as planned. We have several people internally who had this happen to them over the past several months and we fixed it each time, so there was nothing to worry about.

The root cause was that my OPMN service, which runs Essbase, was gone. This happened on the other machines we have that experienced that in the past, so I went to talk with one of our resident infrastructure gurus, Jay Zuercher. I remembered there was a command that I could run to recreate the service; Jay had the command filed away somewhere and within a couple of minutes, he sent it to me:

SC CREATE "OracleProcessManager_epmsystem1" binPath="C:\oracle\middleware\epmsystem11r1\opmn\bin\opmn.exe -S -I c:\oracle\middleware\user_projects\epmsystem1”

I ran this command – as an administrator – and then went into services to set the service to start automatically and start the service running. That did not, however, result in Essbase coming back to life. Next, I looked at the Essbase logs and noted several issues having to do with security. Initially, I thought there may have been due to an issue with Shared Services, but then I remembered about the fairly common Essbase issue regarding a corrupted essbase.sec file. I don’t know if the corruption was related to the Windows Update, but the timing sure was suspect. I replaced the essbase.sec file with a backup copy and I was back in business.

Hopefully this doesn’t happen to you when you update Windows but, if it does, perhaps this blog post will make your recovery quick and painless.

Is Essbase Making a Comeback? What You Need to Know.

At the recent Kscope26 conference, Oracle showed the next generation of Essbase in several different sessions. I came away from the conferen...