<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:v = 
"urn:schemas-microsoft-com:vml" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word" xmlns:x = 
"urn:schemas-microsoft-com:office:excel" xmlns:p = 
"urn:schemas-microsoft-com:office:powerpoint" xmlns:a = 
"urn:schemas-microsoft-com:office:access" xmlns:dt = 
"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s = 
"uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs = 
"urn:schemas-microsoft-com:rowset" xmlns:z = "#RowsetSchema" xmlns:b = 
"urn:schemas-microsoft-com:office:publisher" xmlns:ss = 
"urn:schemas-microsoft-com:office:spreadsheet" xmlns:c = 
"urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc = 
"urn:schemas-microsoft-com:office:odc" xmlns:oa = 
"urn:schemas-microsoft-com:office:activation" xmlns:html = 
"http://www.w3.org/TR/REC-html40" xmlns:q = 
"http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc = 
"http://microsoft.com/officenet/conferencing" XMLNS:D = "DAV:" XMLNS:Repl = 
"http://schemas.microsoft.com/repl/" xmlns:mt = 
"http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2 = 
"http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda = 
"http://www.passport.com/NameSpace.xsd" xmlns:ois = 
"http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir = 
"http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds = 
"http://www.w3.org/2000/09/xmldsig#" xmlns:dsp = 
"http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc = 
"http://schemas.microsoft.com/data/udc" xmlns:xsd = 
"http://www.w3.org/2001/XMLSchema" xmlns:sub = 
"http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec = 
"http://www.w3.org/2001/04/xmlenc#" xmlns:sp = 
"http://schemas.microsoft.com/sharepoint/" xmlns:sps = 
"http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi = 
"http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs = 
"http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf = 
"http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p = 
"http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf = 
"http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss = 
"http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi = 
"http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi = 
"http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver = 
"http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m = 
"http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels = 
"http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp = 
"http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t = 
"http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m = 
"http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl = 
"http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl = 
"http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" 
XMLNS:Z = "urn:schemas-microsoft-com:" xmlns:st = ""><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.18813"><!--[if !mso]>
<STYLE>v\:* {
        BEHAVIOR: url(#default#VML)
}
o\:* {
        BEHAVIOR: url(#default#VML)
}
w\:* {
        BEHAVIOR: url(#default#VML)
}
.shape {
        BEHAVIOR: url(#default#VML)
}
</STYLE>
<![endif]-->
<STYLE>@font-face {
        font-family: Cambria Math;
}
@font-face {
        font-family: Calibri;
}
@font-face {
        font-family: Tahoma;
}
@font-face {
        font-family: Lucida Console;
}
@font-face {
        font-family: Lucida Sans;
}
@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.0in 1.0in 1.0in; }
P.MsoNormal {
        MARGIN: 0in 0in 0pt; FONT-FAMILY: "Calibri","sans-serif"; FONT-SIZE: 11pt
}
LI.MsoNormal {
        MARGIN: 0in 0in 0pt; FONT-FAMILY: "Calibri","sans-serif"; FONT-SIZE: 11pt
}
DIV.MsoNormal {
        MARGIN: 0in 0in 0pt; FONT-FAMILY: "Calibri","sans-serif"; FONT-SIZE: 11pt
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline; mso-style-priority: 99
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline; mso-style-priority: 99
}
P.MsoAcetate {
        MARGIN: 0in 0in 0pt; FONT-FAMILY: "Tahoma","sans-serif"; FONT-SIZE: 8pt; mso-style-priority: 99; mso-style-link: "Balloon Text Char"
}
LI.MsoAcetate {
        MARGIN: 0in 0in 0pt; FONT-FAMILY: "Tahoma","sans-serif"; FONT-SIZE: 8pt; mso-style-priority: 99; mso-style-link: "Balloon Text Char"
}
DIV.MsoAcetate {
        MARGIN: 0in 0in 0pt; FONT-FAMILY: "Tahoma","sans-serif"; FONT-SIZE: 8pt; mso-style-priority: 99; mso-style-link: "Balloon Text Char"
}
SPAN.BalloonTextChar {
        FONT-FAMILY: "Tahoma","sans-serif"; mso-style-priority: 99; mso-style-link: "Balloon Text"; mso-style-name: "Balloon Text Char"
}
SPAN.balloontextchar0 {
        FONT-FAMILY: "Tahoma","sans-serif"; mso-style-priority: 99; mso-style-name: balloontextchar
}
SPAN.EmailStyle20 {
        FONT-FAMILY: "Calibri","sans-serif"; COLOR: windowtext; mso-style-type: personal
}
SPAN.EmailStyle21 {
        FONT-FAMILY: "Arial","sans-serif"; COLOR: navy; mso-style-type: personal
}
SPAN.EmailStyle22 {
        FONT-FAMILY: "Arial","sans-serif"; COLOR: navy; mso-style-type: personal
}
SPAN.EmailStyle23 {
        FONT-FAMILY: "Arial","sans-serif"; COLOR: navy; mso-style-type: personal
}
SPAN.EmailStyle24 {
        FONT-FAMILY: "Arial","sans-serif"; COLOR: navy; mso-style-type: personal
}
SPAN.tx1 {
        FONT-WEIGHT: bold; mso-style-name: tx1
}
SPAN.EmailStyle26 {
        FONT-FAMILY: "Arial","sans-serif"; COLOR: navy; mso-style-type: personal
}
SPAN.EmailStyle27 {
        FONT-FAMILY: "Arial","sans-serif"; COLOR: navy; mso-style-type: personal
}
SPAN.EmailStyle28 {
        FONT-FAMILY: "Calibri","sans-serif"; COLOR: #1f497d; mso-style-type: personal
}
SPAN.EmailStyle29 {
        FONT-FAMILY: "Calibri","sans-serif"; COLOR: #1f497d; mso-style-type: personal
}
SPAN.EmailStyle30 {
        FONT-FAMILY: "Calibri","sans-serif"; COLOR: #1f497d; mso-style-type: personal
}
SPAN.EmailStyle31 {
        FONT-FAMILY: "Arial","sans-serif"; COLOR: navy; mso-style-type: personal
}
SPAN.EmailStyle32 {
        FONT-FAMILY: "Calibri","sans-serif"; COLOR: #1f497d; mso-style-type: personal-reply
}
.MsoChpDefault {
        FONT-SIZE: 10pt; mso-style-type: export-only
}
DIV.Section1 {
        page: Section1
}
OL {
        MARGIN-BOTTOM: 0in
}
UL {
        MARGIN-BOTTOM: 0in
}
</STYLE>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]--></HEAD>
<BODY lang=EN-US link=blue vLink=purple>
<DIV><SPAN class=174282917-24082009><FONT color=#000080 size=2 
face="Lucida Sans">Looks like a good test case. Please log a 
bug.</FONT></SPAN></DIV>
<DIV><SPAN class=174282917-24082009><FONT color=#000080 size=2 
face="Lucida Sans"></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=174282917-24082009><FONT color=#000080 size=2 
face="Lucida Sans">Julian</FONT></SPAN></DIV><BR>
<BLOCKQUOTE 
style="BORDER-LEFT: #000080 2px solid; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px" 
dir=ltr>
  <DIV dir=ltr lang=en-us class=OutlookMessageHeader align=left>
  <HR tabIndex=-1>
  <FONT size=2 face=Tahoma><B>From:</B> mondrian-bounces@pentaho.org 
  [mailto:mondrian-bounces@pentaho.org] <B>On Behalf Of </B>Peter 
  Tran<BR><B>Sent:</B> Monday, August 24, 2009 8:55 AM<BR><B>To:</B> Mondrian 
  developer mailing list<BR><B>Subject:</B> FW: [Mondrian] Performance issue 
  with large number of measures inMondrian 3.0.4<BR></FONT><BR></DIV>
  <DIV></DIV>
  <DIV class=Section1>
  <P class=MsoNormal><SPAN style="COLOR: #1f497d">Forwarding to the Mondrian 
  Developer Mailing List.<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p>&nbsp;</o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="COLOR: #1f497d">Thanks Daphne!!!&nbsp; I 
  believe we&#8217;ve also saw that this was still an issue in 3.1.2 
  right?<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p>&nbsp;</o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="COLOR: #1f497d">Thanks,<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="COLOR: #1f497d">-Peter<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p>&nbsp;</o:p></SPAN></P>
  <DIV>
  <DIV 
  style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
  <P class=MsoNormal><B><SPAN 
  style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt">From:</SPAN></B><SPAN 
  style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt"> Huei-Ju Chen 
  <BR><B>Sent:</B> Monday, August 24, 2009 10:48 AM<BR><B>To:</B> 
  jhyde@pentaho.com<BR><B>Cc:</B> Peter Tran<BR><B>Subject:</B> RE: [Mondrian] 
  Performance issue with large number of measures inMondrian 
  3.0.4<o:p></o:p></SPAN></P></DIV></DIV>
  <P class=MsoNormal><o:p>&nbsp;</o:p></P>
  <P class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: navy; FONT-SIZE: 10pt">Hi 
  Julian,<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: navy; FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></P>
  <P class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: navy; FONT-SIZE: 10pt">Here 
  is how I reproduced this issue in foodmart:<o:p></o:p></SPAN></P>
  <OL style="MARGIN-TOP: 0in" type=1>
    <LI style="COLOR: navy; mso-list: l1 level1 lfo3" class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">add the following 
    calculated measures in the Sales cube. M0 is the sum of 7 base measures. M1 
    is the sum of M0 and 17 base measures. M2 is the sum of M1 and 17 base 
    measures.<o:p></o:p></SPAN> </LI></OL>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: #333399; FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp; 
  &lt;CalculatedMember <o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  name="M0" <o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  &nbsp; dimension="Measures" <o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  &nbsp; formula="[Measures].[Unit Sales] + [Measures].[Store Cost] + 
  [Measures].[Store Sales] + [Measures].[Customer Count] + [Measures].[Sales 
  Count]+ [Measures].[Sales Count]+ [Measures].[Sales Count]" 
  /&gt;<o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp; 
  &lt;CalculatedMember <o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  name="M1" <o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  &nbsp; dimension="Measures" <o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  &nbsp; formula="[Measures].[M0] + [Measures].[Unit Sales] + [Measures].[Store 
  Cost] + [Measures].[Store Sales] + [Measures].[Customer Count] + 
  [Measures].[Sales Count]+ [Measures].[Sales Count]+ [Measures].[Sales Count]+ 
  [Measures].[Sales Count]+ [Measures].[Sales Count]+ [Measures].[Sales Count]+ 
  [Measures].[Sales Count]+ [Measures].[Sales Count]+ [Measures].[Sales Count]+ 
  [Measures].[Sales Count]+ [Measures].[Sales Count]+ [Measures].[Sales Count]+ 
  [Measures].[Sales Count]" /&gt;<o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  &lt;CalculatedMember <o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  name="M2" <o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  &nbsp; dimension="Measures" <o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  &nbsp; formula="[Measures].[M1] + [Measures].[Unit Sales] + [Measures].[Store 
  Cost] + [Measures].[Store Sales] + [Measures].[Customer Count] + 
  [Measures].[Sales Count]+ [Measures].[Sales Count]+ [Measures].[Sales Count]+ 
  [Measures].[Sales Count]+ [Measures].[Sales Count]+ [Measures].[Sales Count]+ 
  [Measures].[Sales Count]+ [Measures].[Sales Count]+ [Measures].[Sales Count]+ 
  [Measures].[Sales Count]+ [Measures].[Sales Count]+ [Measures].[Sales Count]+ 
  [Measures].[Sales Count]" /&gt;<o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: navy; FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></P>
  <OL style="MARGIN-TOP: 0in" type=1 start=2>
    <LI style="COLOR: navy; mso-list: l1 level1 lfo3" class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">Select M1 in the 
    query. It took 3.5 seconds to return.<o:p></o:p></SPAN> </LI></OL>
  <P class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  WITH<o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">SET [#DataSet#] as 
  'NonEmptyCrossjoin(<o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">{ 
  [Product].[Food]},<o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">{Descendants([Store].[USA], 
  1)}<o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">)'<o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">SELECT 
  {[Measures].[M1]} on columns, NON EMPTY Hierarchize({[#DataSet#]}) on rows 
  FROM [Sales]<o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: navy; FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></P>
  <OL style="MARGIN-TOP: 0in" type=1 start=3>
    <LI style="COLOR: navy; mso-list: l1 level1 lfo3" class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">Select M2. It has 
    been running for 5 minutes and hasn&#8217;t returned.<o:p></o:p></SPAN> </LI></OL>
  <P class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp;&nbsp; 
  WITH<o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">SET [#DataSet#] as 
  'NonEmptyCrossjoin(<o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">{ 
  [Product].[Food]},<o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">{Descendants([Store].[USA], 
  1)}<o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">)'<o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></P>
  <P 
  style="MARGIN-BOTTOM: 12pt; MARGIN-LEFT: 0.25in; MARGIN-RIGHT: 0in; mso-margin-top-alt: 0in" 
  class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">SELECT 
  {[Measures].[M1]} on columns, NON EMPTY Hierarchize({[#DataSet#]}) on rows 
  FROM [Sales]<SPAN style="COLOR: navy"><o:p></o:p></SPAN></SPAN></P>
  <P class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: navy; FONT-SIZE: 10pt">Thank 
  you,<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: navy; FONT-SIZE: 10pt">Daphne<o:p></o:p></SPAN></P>
  <P style="MARGIN-LEFT: 0.25in" class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: navy; FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></P>
  <P class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Arial','sans-serif'; COLOR: navy; FONT-SIZE: 10pt"><o:p>&nbsp;</o:p></SPAN></P>
  <DIV>
  <DIV style="TEXT-ALIGN: center" class=MsoNormal align=center><SPAN 
  style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt">
  <HR align=center SIZE=2 width="100%">
  </SPAN></DIV>
  <P class=MsoNormal><B><SPAN 
  style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt">From:</SPAN></B><SPAN 
  style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt"> 
  mondrian-bounces@pentaho.org [mailto:mondrian-bounces@pentaho.org] <B>On 
  Behalf Of </B>Julian Hyde<BR><B>Sent:</B> Friday, August 21, 2009 3:52 
  AM<BR><B>To:</B> 'Mondrian developer mailing list'<BR><B>Subject:</B> RE: 
  [Mondrian] Performance issue with large number of measures inMondrian 
  3.0.4</SPAN><SPAN 
  style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt"><o:p></o:p></SPAN></P></DIV>
  <P class=MsoNormal><o:p>&nbsp;</o:p></P>
  <DIV>
  <P class=MsoNormal><SPAN 
  style="FONT-FAMILY: 'Lucida Sans','sans-serif'; COLOR: navy; FONT-SIZE: 10pt">I'd 
  not noticed it. It looks exponential -- it doubles each time you add a measure 
  -- so it's definitely a concern. Can you construct a test case on foodmart 
  with enough measures to have truly abyssmal performance, then log a bug. Looks 
  like it's in some of the special logic in crossjoin to 'optimize' the 
  non-empty case.</SPAN><SPAN 
  style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt"><o:p></o:p></SPAN></P></DIV>
  <BLOCKQUOTE 
  style="BORDER-BOTTOM: medium none; BORDER-LEFT: navy 1.5pt solid; PADDING-BOTTOM: 0in; MARGIN: 5pt 0in 5pt 3.75pt; PADDING-LEFT: 4pt; PADDING-RIGHT: 0in; BORDER-TOP: medium none; BORDER-RIGHT: medium none; PADDING-TOP: 0in">
    <P class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt"><o:p>&nbsp;</o:p></SPAN></P>
    <DIV style="TEXT-ALIGN: center" class=MsoNormal align=center><SPAN 
    style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt">
    <HR align=center SIZE=2 width="100%">
    </SPAN></DIV>
    <P style="MARGIN-BOTTOM: 12pt" class=MsoNormal><B><SPAN 
    style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt">From:</SPAN></B><SPAN 
    style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt"> 
    mondrian-bounces@pentaho.org [mailto:mondrian-bounces@pentaho.org] <B>On 
    Behalf Of </B>Peter Tran<BR><B>Sent:</B> Thursday, August 20, 2009 10:34 
    AM<BR><B>To:</B> Mondrian developer mailing list<BR><B>Subject:</B> 
    [Mondrian] Performance issue with large number of measures inMondrian 
    3.0.4</SPAN><SPAN 
    style="FONT-FAMILY: 'Times New Roman','serif'; FONT-SIZE: 12pt"><o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: #1f497d">Hi,</SPAN><o:p></o:p></P>
    <P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p>&nbsp;</o:p></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: #1f497d">Has anyone noticed a 
    performance issue with Mondrian 3.0.4 with regards to large number of 
    measures in a calculated measure?&nbsp; <o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p>&nbsp;</o:p></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: #1f497d">We ran some test and got the 
    following results.&nbsp; We added one base measure at a time to the 
    calculated measure for the test.<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p>&nbsp;</o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Lucida Console'; COLOR: #1f497d"># 
    measures&nbsp;&nbsp;&nbsp;&nbsp; elapsed time<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Lucida Console'; COLOR: #1f497d">&nbsp;&nbsp;&nbsp; 
    9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    19.078<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Lucida Console'; COLOR: #1f497d">&nbsp;&nbsp; 
    10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    34.307<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Lucida Console'; COLOR: #1f497d">&nbsp;&nbsp; 
    11&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    79.096<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Lucida Console'; COLOR: #1f497d">&nbsp;&nbsp; 
    12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    146.222&nbsp; <o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="FONT-FAMILY: 'Lucida Console'; COLOR: #1f497d">&nbsp;&nbsp; 
    13&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    304.365&nbsp;&nbsp;&nbsp;&nbsp; <o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    <o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: #1f497d"><IMG id=Chart_x005f_x0020_1 
    src="cid:174282917@24082009-06BB" width=482 
height=289><o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p>&nbsp;</o:p></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p>&nbsp;</o:p></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: #1f497d">It looks like it&#8217;s working 
    inside some recursive code.&nbsp; Any help or recommendation would be 
    greatly appreciated.<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p>&nbsp;</o:p></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: #1f497d">Stack trace: 
    <o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">java.util.HashMap.put(HashMap.java:372)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">java.util.HashSet.add(HashSet.java:200)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.process(CrossJoinFunDef.java:2089)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2070)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.MemberExpr.accept(MemberExpr.java:73)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2048)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:154)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2048)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:154)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2048)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:154)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:157)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:157)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2048)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:154)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:157)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2048)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:154)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:157)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.process(CrossJoinFunDef.java:2082)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2070)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.MemberExpr.accept(MemberExpr.java:73)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2048)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:154)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2048)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:154)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:157)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:157)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.process(CrossJoinFunDef.java:2082)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2070)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.MemberExpr.accept(MemberExpr.java:73)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:157)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2048)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:154)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.process(CrossJoinFunDef.java:2082)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2070)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.MemberExpr.accept(MemberExpr.java:73)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2048)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:154)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2048)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:154)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2048)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:154)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.process(CrossJoinFunDef.java:2082)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2070)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.MemberExpr.accept(MemberExpr.java:73)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:157)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:157)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2048)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:154)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:157)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:157)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:157)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:157)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2048)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:154)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2048)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:154)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2048)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:154)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2048)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:154)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef$MeasureVisitor.visit(CrossJoinFunDef.java:2048)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.ResolvedFunCall.accept(ResolvedFunCall.java:154)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.CrossJoinFunDef.nonEmptyList(CrossJoinFunDef.java:2196)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.NonEmptyCrossJoinFunDef$1.evaluateList(NonEmptyCrossJoinFunDef.java:68)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.calc.impl.AbstractListCalc.evaluate(AbstractListCalc.java:67)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.rolap.RolapResult.evaluateExp(RolapResult.java:794)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.rolap.RolapResult.access$100(RolapResult.java:46)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.rolap.RolapResult$RolapResultEvaluatorRoot.evaluateNamedSet(RolapResult.java:1194)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.rolap.RolapEvaluator.evaluateNamedSet(RolapEvaluator.java:884)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.mdx.NamedSetExpr$1.evaluateList(NamedSetExpr.java:78)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.SetFunDef$ListSetCalc$2.evaluateVoid(SetFunDef.java:149)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.SetFunDef$ListSetCalc.evaluateList(SetFunDef.java:204)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.olap.fun.HierarchizeFunDef$1.evaluateList(HierarchizeFunDef.java:48)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.calc.impl.AbstractListCalc.evaluate(AbstractListCalc.java:67)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.rolap.RolapResult.executeAxis(RolapResult.java:694)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.rolap.RolapResult.evalLoad(RolapResult.java:557)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.rolap.RolapResult.loadMembers(RolapResult.java:532)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.rolap.RolapResult.&lt;init&gt;(RolapResult.java:254)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.rolap.RolapConnection.execute(RolapConnection.java:597)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.tui.CmdRunner.runQuery(CmdRunner.java:566)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.tui.CmdRunner.execute(CmdRunner.java:543)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.tui.CmdRunner.executeMdxCmd(CmdRunner.java:2243)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.tui.CmdRunner.commandLoop(CmdRunner.java:887)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.tui.CmdRunner.commandLoop(CmdRunner.java:750)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
    style="COLOR: #1f497d">mondrian.tui.CmdRunner.main(CmdRunner.java:2397)<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: #1f497d"><o:p>&nbsp;</o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
style="COLOR: #1f497d">Thanks!<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN style="COLOR: #1f497d">-Peter<o:p></o:p></SPAN></P>
    <P class=MsoNormal><SPAN 
  style="COLOR: #1f497d"><o:p>&nbsp;</o:p></SPAN></P></BLOCKQUOTE></DIV></BLOCKQUOTE></BODY></HTML>