Thanks to those guys and gal's who sung by for the PAT Webex, 30ish people turned out,o and from the feedback it proved largely successful even if it was rather hastily slapped together. Quick thanks to Doug and the Pentaho guys for organizing it, thanks to Jos for annoying me about it all week a making sure I don't have a life ;) And thanks to Benjamin from SQL Power for swinging by and checking out the half competition, and making me sure we do better than them, kidding, honest ;)
Anyway if you missed the delights of me droning on about where we are going check it out:
http://forums.pentaho.org/showthread.php?t=72655
Oh and also our PAT googlecode site and this blog's traffic is up 20%, so thanks for stopping by
Ta
Tom
Subscribe to:
Post Comments (Atom)

3 comments:
Thanks for mentioning me Tom! ;-) At least I tried to swing by but I ended up watching the recording.
I have been watching PAT since it's first public release and you are doing a great job. It's interesting to see that PAT is having the same limitations as Wabit when it comes to saving MDX etc because of OLAP4J.
By the way I'm actually not a developer so my influence in SQL Power products is minor. All I can do is telling the developers during the lunch break "Why does PAT already has an enhanced dimension filter and Wabit doesn't?"
Thanks for the presentation! It was very interesting to hear more details about this project!
At the end of the presentation there was a question about conditional formating. As he mentioned the formating info is written directly into the MDX query like this:
WITH
MEMBER [Measures].[Prior Period Distinct Logins] AS
(
[Login Time Weekly].CurrentMember.PrevMember,
[Measures].[Distinct Users]
)
MEMBER [Measures].[Change in Distinct Logins] AS
(
[Measures].[Distinct Users] - [Measures].[Prior Period Distinct Logins]
)
MEMBER [Measures].[Percent Change] AS
(
([Measures].[Change in Distinct Logins]) /
([Measures].[Prior Period Distinct Logins])
)
, FORMAT_STRING = Iif(
([Measures].[Percent Change] < 0),
"|#.00%|style='red'|arrow='down'",
"|#.00%|style='green'|arrow='up'"
)
SELECT
NON EMPTY {
LastPeriods(
6,
[Login Time Weekly].[2009].[40]
)
}
ON COLUMNS,
NON EMPTY Union (
Crossjoin (
{[Login Channel].[All Login Channels]},
{[Measures].[Distinct Users],
[Measures].[Percent Change]
}
),
Crossjoin (
{[Login Channel].[All Login Channels].Children},
{[Measures].[Distinct Users]
}
)
)
ON ROWS
from [Logins]]
Probably you already know anyways :)
To be fair, one must understand that PAT is built on olap4j's Query Model, which is a simple but limited API for creating queries.
With PAT, we first thought about using the full MDX parser / object model but decided to start simple and use the Query Model. Olap4j does support any MDX query whatsoever. It can parse any MDX query you fancy and turn it into a very powerful object model in fact.
Olap4j's Query Model prototype has indeed went to a halt in terms of developments lately. Both PAT and Wabit have suffered from that. I myself am very busy on the Wabit Enterprise Server and since we stopped extending the client functionality, the Query Model developments have stalled along with it.
It is worth mentioning though that olap4j's core API now supports write back. The concept of Scenarios, which are basically simulations that you can load/save over many olap4j compatible OLAP servers. This includes Microsoft SQL Server, Mondrian, and soon Palo and maybe SAP BW. This is wonderful in itself.
All that we need to do now is try to tackle the obvious next challenge. Create GUIs over the MDX object model.
Luc Boudreau
Contributor on PAT, Wabit and olap4j =)
Post a Comment