2
votes

I'm new and trying out Pentaho Mondrian for my company's proof of concept work.

We are dealing with very large scale of data (billions of rows), running on Greenplum.

However, I've met a couple of roadblocks and would appreciate if the questions below could be answered?

  1. Is there any tool out there that could assist in transforming our current DB schema to Mondrian's OLAP schema?
  2. Given the example MDX query below:
SELECT
    {[Measures].[Visits]} ON COLUMNS,
    NON EMPTY {
        HEAD(
            DESCENDANTS(
                [Location],
                [Location].[Segment Name],
                AFTER
            ),
            3
        )
    } ON ROWS
FROM [Location Metrics]
WHERE (
    [Location].[Segment Name].[Bla Bla Bla],
    [Location].[Period].[Weekly],
    [Location].[Location Type].[Website],
    [Location].[Industry Name].[Ferrari Owners]
)

In the log files of Tomcat, the generated SQL query does not have the WHERE clause nor the LIMIT 3. So my question is, does these filtering and limiting/offset happen in DB or in OLAP server layer? If its the latter, what about tables with billions of rows?

2

2 Answers

0
votes

The Head method is not natively pushed to SQL by Mondrian. Try using TopCount / BottomCount

Mondrian will also push to SQL the Filter() method, when the predicate is simple enough to be expressed by simple arithmetic, as opposed to MDX tree operations, like Dimension.CurrentMember.

0
votes

if you want to use any tool then you can use Pentaho Schema Workbench. It is very good open source tool for creating olap schema and you can publish it into Pentaho BI Server and visualize it and also perform operation like slicing, roll-up, roll-down.