[Mondrian] Agg Tables and SQL filtering
julianhyde at gmail.com
Tue Sep 1 17:13:54 EDT 2015
The <SQL> tag is powerful but allows all kinds of mischief. We never implemented it / tested it thoroughly. For example, if you were to use a non-deterministic UDF inside the <SQL> tag it would break caching. I don’t think it would be wise to add it to aggregate tables.
There are better solutions to most of the use cases that <SQL> solves, e.g. enforce security by having a hidden dimension fixed at a particular member, then use member-based access control.
> On Sep 1, 2015, at 11:26 AM, Ricardo Fradinho <ricardo.fradinho at webdetails.pt> wrote:
> Mondrian allows defining a “where” clause to filter the fact table:
> <Table name=“sales”>
> <SQL> region=“EMEA” </SQL>
> This allows us to solve unusual row level security requirements, flatten N:M relations, remove bad data, etc.
> But Agg tables do not support this feature, and if we have some dynamic filter on the fact table, we’d also need the respective dynamic filter on the Agg tables.
> I understand that Agg tables expect the data to be fully aggregated at the lowest level and having dynamic filters could break this requirement, e.g, region in (“EMEA”, “APAC")
> But it would be responsibility of the data designer to don’t use Agg tables, or implement a workaround.
> Is there any reason this is not / cannot be implemented ?
> Thanks in advance.
> Ricardo Fradinho.
> Mondrian mailing list
> Mondrian at pentaho.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Mondrian