That actually wouldn't help in this scenario, since Cognos validation is checking whether the member referenced is returned by the query.<div><br></div><div>After thinking about this some, it really does seem to be a Cognos specific issue and requires a Cognos specific workaround. It doesn't seem like something appropriate to put directly in Mondrian. I'm going to see whether there's not something we could do in our custom XmlaServlet.</div>
<div><br><br><div class="gmail_quote">On Wed, Jun 17, 2009 at 8:15 PM, Julian Hyde <span dir="ltr"><<a href="mailto:jhyde@pentaho.com">jhyde@pentaho.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div>
<div><span><font face="Lucida Sans" color="#000080" size="2">Rather than creating a member, would it be sufficient for your purposes
if it mapped non-existent members to the default member of that hierarchy? That
would seem to be a variation of <font face="Times New Roman" color="#000000" size="3">mondrian.rolap.ignoreInvalidMembersDuringQuery</font> that would be easy
to implement.</font></span></div>
<div><span><font face="Lucida Sans" color="#000080" size="2"></font></span> </div>
<div><span><font face="Lucida Sans" color="#000080" size="2">Julian</font></span></div><br>
<blockquote dir="ltr" style="padding-left:5px;margin-left:5px;border-left:#000080 2px solid;margin-right:0px">
<div lang="en-us" dir="ltr" align="left">
<hr>
<font face="Tahoma" size="2"><b>From:</b> <a href="mailto:mondrian-bounces@pentaho.org" target="_blank">mondrian-bounces@pentaho.org</a>
[mailto:<a href="mailto:mondrian-bounces@pentaho.org" target="_blank">mondrian-bounces@pentaho.org</a>] <b>On Behalf Of </b>Matt
Campbell<br><b>Sent:</b> Wednesday, June 17, 2009 1:22 PM<br><b>To:</b>
Mondrian developer mailing list<br><b>Subject:</b> [Mondrian] Non existent
members<br></font><br></div><div><div></div><div class="h5">
<div></div>We have an issue with non-existent members in our application and
I'm curious if anyone has any suggestions. We use Cognos.
Immediately prior to executing a report, Cognos will fire a series of
queries to validate that all members explicitly referenced really do exist.
For example, Cognos may execute a query like the following to determine
whether [Apr 2002- Mar 2003] actually exists.
<div><font face="Lucida Sans" color="#000080" size="2"></font><font face="Lucida Sans" color="#000080" size="2"></font><br></div>
<div>
<blockquote class="gmail_quote" style="padding-left:1ex;margin:0px 0px 0px 0.8ex;border-left:rgb(204,204,204) 1px solid"><span style="font-size:x-small">WITH</span></blockquote>
<blockquote class="gmail_quote" style="padding-left:1ex;margin:0px 0px 0px 0.8ex;border-left:rgb(204,204,204) 1px solid"><span style="white-space:pre"><span style="font-size:x-small"></span></span><span style="font-size:x-small">MEMBER [Measures].[calculated] AS
'1' </span></blockquote>
<blockquote class="gmail_quote" style="padding-left:1ex;margin:0px 0px 0px 0.8ex;border-left:rgb(204,204,204) 1px solid"><span style="font-size:x-small">SELECT</span></blockquote>
<blockquote class="gmail_quote" style="padding-left:1ex;margin:0px 0px 0px 0.8ex;border-left:rgb(204,204,204) 1px solid"><span style="white-space:pre"><span style="font-size:x-small"></span></span><span style="font-size:x-small">{[Time Period: Incurred Rolling Year].[All Time
Period: Incurred Rolling Years].[Apr 2002 - Mar 2003]} ON
AXIS(0) </span></blockquote>
<blockquote class="gmail_quote" style="padding-left:1ex;margin:0px 0px 0px 0.8ex;border-left:rgb(204,204,204) 1px solid"><span style="font-size:x-small">FROM</span></blockquote>
<blockquote class="gmail_quote" style="padding-left:1ex;margin:0px 0px 0px 0.8ex;border-left:rgb(204,204,204) 1px solid"><span style="white-space:pre"><span style="font-size:x-small"></span></span><span style="font-size:x-small">[Advantage] </span></blockquote>
<blockquote class="gmail_quote" style="padding-left:1ex;margin:0px 0px 0px 0.8ex;border-left:rgb(204,204,204) 1px solid"><span style="font-size:x-small">WHERE</span></blockquote>
<blockquote class="gmail_quote" style="padding-left:1ex;margin:0px 0px 0px 0.8ex;border-left:rgb(204,204,204) 1px solid"><span style="white-space:pre"><span style="font-size:x-small"></span></span><span style="font-size:x-small">([Measures].[calculated]) </span></blockquote>
<div><br></div>
<div><br></div>
<div>Unfortunately, we have sets of reports that a run month after month, and
some specific members may drop out of the database. Or users may create
reports in anticipation of members that will be available in the future.
We would like to ignore the non-existent members (i.e. do something just
like what mondrian.rolap.ignoreInvalidMembersDuringQuery does).
Unfortunately, the validation query will not return the member [Apr 2002
- Mar 2003] (it returns the null member), which causes Cognos to fail
validation and skip running the report.</div>
<div><br></div>
<div>Our preference would be to get Cognos to skip the validation step, but
there is no way to do that. As a fall back, we are wondering if it would
make sense to create a variation on how Mondrian handles non-existent
members-- rather than map the non-existent members to the null member, create
a new member with the name specified. Other suggestions would be gladly
accepted.</div>
<div><br></div>
<div><br></div></div></div></div></blockquote></div>
<br>_______________________________________________<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" target="_blank">http://lists.pentaho.org/mailman/listinfo/mondrian</a><br>
<br></blockquote></div><br></div>