<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">One other note.. instead of using that filter thing it seems like using Exists() works too.<div>I'm kind of surprised of it... how does this function work exactly (msdn couldn't really help me either), I thought it was something else</div><div>I actually use Exists() in the current olap4j query model, as Filter(&lt;member&gt; IN &lt;set&gt;) is mondrian specific und doesn't work on SSAS.</div><div><br></div><div><br></div><div>Anyhow, instead of that Filter thing I could just do:</div><div>Exists( {[Product].[Product Department].Members} , {Product.Drink} )&nbsp;</div><div><br></div><div>That one will only give me members of Product Department that are children of Product.Drink.</div><div><br></div><div>How? Why?</div><div>Since the function signature is Exists(&lt;set&gt;, &lt;set&gt;) I can even define other members in that set.</div><div><br></div><div>Maybe someone could help me out with a clarification on that function?</div><div>And would you see any negative consequences of using it in my context?</div><div><br></div><div><br></div><div>Thanks for your feedback Nick and Pedro!</div><div><br></div><div>-Paul</div><div><br></div><div><div><div>On Mar 23, 2012, at 10:28 PM, Pedro Alves wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>I use that technique a lot, never had problems or noticed performance impact <br>
<br>
<br>
<br>
-pedro<br><br><div class="gmail_quote">Paul Stoellberger &lt;<a href="mailto:p.stoellberger@gmail.com">p.stoellberger@gmail.com</a>&gt; wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre style="white-space: pre-wrap; word-wrap:break-word; font-family: sans-serif">Hi,<br><br>I've been tinkering with various options for the mdx we could use for an improved query model, and I was wondering if named sets had any (negative) impact on performance.<br>I just want to use them to simplify the mdx and improve its readability.<br><br>For each level I would create a separate set.<br>Basically the whole concept is very level based.... that way users can perform stuff like TopCount, Filter, ... on specific levels, or a level could be a period instead of specific members.<br><br>A query could e.g. look like this:<br><br>with <br>set [ProductFamily] as '{[Product].[Food]}'<br>set [ProductDepartment] as 'Filter({[Product].[Food].[Dairy], [Product].[Food].[Meat]}, Ancestor(Product.CurrentMember,[Product Family]) in [ProductFamily])'<br>set [ProductCategory] as 'Filter({[Product].[Product Category].Members}, Ancestor(Product.CurrentMember,[Product
Department]) in [ProductDepartment])'<br>set [ProductDimension] as 'Hierarchize({[ProductFamily], [ProductDepartment],[ProductCategory]})'<br>SELECT<br>NON EMPTY {[Customers].[All Customers]} ON COLUMNS,<br>NON EMPTY [ProductDimension] ON ROWS<br>FROM [Sales]<br><br><br><br>on an axis i would then just do something like:<br>SELECT [Dimension1] * [Dimension2] ON COLUMNS, .....<br><br><br>I was trying to figure out a way that would work with DrillDownLevel and/or DrillDownMember .... but unfortunately they can only drill down 1 level and i wanted this to be a more general solution.<br>Otherwise I would have definitely preferred that.<br><br><br>Any Input on this from anyone who has an opinion would be highly appreciated.<br><br>Thanks,<br>Paul<br><br><hr><br>Mondrian mailing list<br><a href="mailto:Mondrian@pentaho.org">Mondrian@pentaho.org</a><br><a href="http://lists.pentaho.org/mailman/listinfo/mondrian">http://lists.pentaho.org/mailman/listinfo/mondrian</a><br></pre></blockquote></div></div>_______________________________________________<br>Mondrian mailing list<br><a href="mailto:Mondrian@pentaho.org">Mondrian@pentaho.org</a><br>http://lists.pentaho.org/mailman/listinfo/mondrian<br></blockquote></div><br></div></body></html>