<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16527" name=GENERATOR>
<STYLE>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
pre
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:Arial;
        color:windowtext;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
-->
</STYLE>
</HEAD>
<BODY lang=EN-US vLink=purple link=blue>
<DIV dir=ltr align=left><FONT face=Verdana color=#000080 
size=2></FONT>&nbsp;</DIV><FONT face=Verdana color=#000080 size=2></FONT><BR>
<BLOCKQUOTE dir=ltr 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000080 2px solid; MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left><FONT 
  face=Arial><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p><SPAN 
  class=803113322-04092007><FONT face=Tahoma><FONT face=Verdana 
  color=#000080>Robin Tharappel 
  wrote:</FONT></FONT></SPAN></o:p></SPAN></FONT></DIV>
  <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left><FONT 
  face=Arial><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p><SPAN 
  class=803113322-04092007>&nbsp;</SPAN>&nbsp;</o:p></SPAN></FONT></DIV>
  <DIV class=Section1>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">In reviewing tracker 1755778 
  (Cross Join with Filter returns empty result set), it appears that the type of 
  ResultStyle impacts the result set returned in some cases. Using JDK 1.5 the 
  Iterable ResultStyle will be used and the List ResultStyle will be used with 
  JDK 1.4. &nbsp;Given the following MDX:<o:p></o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">WITH SET [#DataSet#] as 'Filter(Crossjoin({[Store].[All Stores]},<o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">{[Customers].[All Customers]}), <o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">[Measures].[Unit Sales] &gt; 0)' <o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">SELECT {[Measures].[Unit Sales]} ON COLUMNS, <o:p></o:p></SPAN></FONT></PRE><PRE><FONT face="Courier New" size=2><SPAN style="FONT-SIZE: 10pt">{[#DataSet#] } ON ROWS FROM Sales<o:p></o:p></SPAN></FONT></PRE>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial size=2><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Using the Iterable ResultStyle 
  (with JDK 1.5) an empty result set is returned. However if I force the 
  ResultStyle to List the correct result set is returned. It appears that the 
  List implementation is evaluating the expressions while the list is created. 
  &nbsp;The Iterable implementation evaluates the expressions during iteration. 
  Should the Iterable ResultStyle evaluate the expressions when it is created 
  (similar to the List ResultStyle) ?&nbsp;&nbsp;<FONT face=Verdana><FONT 
  color=#000080><SPAN 
  class=803113322-04092007>&nbsp;</SPAN></FONT></FONT></SPAN></FONT></P>
  <P class=MsoNormal><FONT face=Arial><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><FONT face=Verdana><FONT 
  color=#000080><SPAN 
  class=803113322-04092007></SPAN></FONT></FONT></SPAN></FONT>&nbsp;</P></DIV></BLOCKQUOTE>
<P class=MsoNormal dir=ltr><FONT face=Arial><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><FONT face=Verdana><FONT 
color=#000080><SPAN class=803113322-04092007>Well, the result should certainly 
be the same, whichever result style is used. I think (not having looked at the 
code) that the problem you're seeing is in the Iterable ResultStyle 
implementation of the Filter function. The semantics of the Filter function are 
that the boolean expression is evaluated in the context of each successive 
member from the list expression. If Iterable ResultStyle doesn't implement those 
semantics, it's a bug.</SPAN></FONT></FONT></SPAN></FONT></P>
<P class=MsoNormal dir=ltr><FONT face=Arial><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><FONT face=Verdana><FONT 
color=#000080><SPAN 
class=803113322-04092007></SPAN></FONT></FONT></SPAN></FONT>&nbsp;</P>
<P class=MsoNormal dir=ltr><FONT face=Arial><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><FONT face=Verdana><FONT 
color=#000080><SPAN class=803113322-04092007>Note that the CrossJoin function 
has different semantics: each of the arguments should be evaluated 
independently.</SPAN></FONT></FONT></SPAN></FONT></P>
<P class=MsoNormal dir=ltr><FONT face=Arial><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><FONT face=Verdana><FONT 
color=#000080><SPAN 
class=803113322-04092007></SPAN></FONT></FONT></SPAN></FONT>&nbsp;</P>
<P class=MsoNormal dir=ltr><FONT face=Arial><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><FONT face=Verdana><FONT 
color=#000080><SPAN 
class=803113322-04092007>Julian</SPAN></FONT></FONT></SPAN></FONT></P></BODY></HTML>