[Mondrian] Calculation Captions in Virtual Cubes

Alan Jackson AlanJ at symmetrics.net
Tue Feb 5 17:26:20 EST 2008

Thanks Julian
I totally agree that no code is too simple to test.
The advice you offer is something that I'd tried first time round on this - unfortunately, from my understanding of things, this does in fact return the caption for the Measure represented by the position on the axis; not the RolapVirtualCubeMeasure at the position on the axis - thus getting the caption for this does the right thing in terms of getting the caption as specified in the schema XML through MemberBase rather than through RolapVirtualCubeMeasure. This is because we actually get hold of the physical member which isn't a RolapVirtualCubeMeasure.
I'm coming at this with a background using Microsoft technologies having previously been responsible for the OLAP access in Crystal Reports (for my sins!) so have been used to dealing with Axis Rowsets that return member Unique Names, Captions, Level Unique Names, Level number and Display info for each member in the result. In order to prove my change, what I guess I'm after is getting this same information against Mondrian - is this possible? I presume it must be as I believe this is what JPivot (our rendering control) gets the "wrong" caption without my change, but gets the right one with it.


From: mondrian-bounces at pentaho.org on behalf of Julian Hyde
Sent: Tue 05/02/2008 19:22
To: 'Mondrian developer mailing list'
Subject: RE: [Mondrian] Calculation Captions in Virtual Cubes

Sorry for the delay in replying. I am busy, as ever.
Your proposed getCaption() method makes sense. It almost seems to simple to test, but then again, no code is too simple to break, so let's test it.
To test it, add a method to SchemaTest. The test will probably need to create its own variant of the foodmart schema; follow the example of a test in that class that tests a similar thing. Then execute a query on that virtual cube that returns the measure on the columns axis, navigate to the member using something like result.getAxes().get(0).axis.getPositions().get(0).getMembers().get(0) and call its getCaption method to make sure that the caption is as you want.


	From: mondrian-bounces at pentaho.org [mailto:mondrian-bounces at pentaho.org] On Behalf Of Alan Jackson
	Sent: Monday, February 04, 2008 1:28 PM
	To: mondrian at pentaho.org
	Subject: RE: [Mondrian] Calculation Captions in Virtual Cubes
	In the absence of any responses to my request for help, I am still no further forward.
	I have seen that the final has been removed from MemberBase::getCaption by wgorman's check-in on 16 Nov.
	I would still like to add the following to RolapVirtualCubeMeasure.java but am void of any ideas on how I can really test this in a unit test fashion.
	public String getCaption() {
	    return cubeMeasure.getCaption();
	The reason I would like to do this is that without passing this request on to the cubeMeasure, the default caption is returned for the member - not the caption as specified in the original cube's schema XML.


	Any thoughts on a means to test this would be appreciated - or if someone wants to check it and submit it for me then I would be grateful.

	If I'm missing the point of this list then please tell me to shut up!





	From: mondrian-bounces at pentaho.org on behalf of Alan Jackson
	Sent: Thu 31/01/2008 19:32
	To: mondrian at pentaho.org
	Subject: [Mondrian] Calculation Captions in Virtual Cubes
	The problem is where a calculation in a cube has a caption define in the schema XML. When using this calculation in a virtual cube, the specified caption is not returned but the default caption is returned.
	(see thread http://forums.pentaho.org/showthread.php?t=53867 <https://mail.symmetrics.net/exchweb/bin/redir.asp?URL=http://forums.pentaho.org/showthread.php?t=53867> )
	I've got a solution that works in our scenario, but I'm struggling to create a unit test to highlight the problem - I want to create unit tests so that I am able to submit the change back into the community. The example tests I've seen all end up getting the measure through the schema objects rather than getting the caption from the axis result sets.
	Are there any examples you guys can point me to that get the captions back for the axes that I could use to validate this fix?
	The main contention in the fix would be the removal of the "final" from MemberBase::getCaption so that it can be overridden in RolapVirtualCubeMeasure - do you see this being a big problem?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pentaho.org/pipermail/mondrian/attachments/20080205/f71d34ca/attachment.html 

More information about the Mondrian mailing list