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>
<br></div><div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
<span class="Apple-style-span" style="font-size: x-small;">WITH</span></blockquote><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
<span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-size: x-small;">        </span></span><span class="Apple-style-span" style="font-size: x-small;">MEMBER [Measures].[calculated] AS '1' </span></blockquote>
<blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
<span class="Apple-style-span" style="font-size: x-small;">SELECT</span></blockquote><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
<span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-size: x-small;">        </span></span><span class="Apple-style-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="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
<span class="Apple-style-span" style="font-size: x-small;">FROM</span></blockquote><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
<span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-size: x-small;">        </span></span><span class="Apple-style-span" style="font-size: x-small;">[Advantage] </span></blockquote><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
<span class="Apple-style-span" style="font-size: x-small;">WHERE</span></blockquote><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
<span class="Apple-tab-span" style="white-space:pre"><span class="Apple-style-span" style="font-size: x-small;">        </span></span><span class="Apple-style-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>