<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:inherit;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></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 class=WordSection1><p class=MsoNormal>This afternoon I started working on a task to fix some failing tests on lagunitas involving the &nbsp;IgnoreMeasureForNonJoiningDimension property (MONDRIAN-1437).&nbsp; Despite having been involved in the original request for this feature, it took me a little while to wrap my head back around the functionality.&nbsp; <o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>Here&#8217;s my memory of the use case that prompted my former employer to push for this a few years back.&nbsp; With healthcare data, analysts may want to sum up claims data that&#8217;s coming from different sources.&nbsp; For example, [Net Payment] is defined as the sum of payments from the Drug Claims cube and payments from the Hospital Claims cube.&nbsp; These two cubes have very similar but not identical dimensionality.<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>Our users would create reports with a dimension that joins to one but not both of these two cubes, and then be very surprised at the totals.&nbsp; In the example below the [Drug] dimension does not join to the Hosp cube:<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><table class=MsoNormalTable border=1 cellspacing=3 cellpadding=0 width=453 style='width:271.5pt;background:white;border-top:none;border-left:none;border-bottom:solid #D5D5D5 1.0pt;border-right:solid #D5D5D5 1.0pt'><tr><td width=168 style='width:100.95pt;border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;background:#E5E5E5;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal style='line-height:12.0pt;vertical-align:baseline'><b><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222'>Drug <o:p></o:p></span></b></p></td><td width=73 style='width:43.8pt;border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;background:#F9F9F9;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=center style='text-align:center;line-height:12.0pt;vertical-align:baseline'><b><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222'>Net Payment<o:p></o:p></span></b></p></td><td style='border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;background:#F9F9F9;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=center style='text-align:center;line-height:12.0pt;vertical-align:baseline'><b><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222'>Net Pay Drug<o:p></o:p></span></b></p></td><td style='border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;background:#F9F9F9;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=center style='text-align:center;line-height:12.0pt;vertical-align:baseline'><b><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222'>Net Pay Hosp<o:p></o:p></span></b></p></td></tr><tr><td width=168 valign=top style='width:100.95pt;border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;background:#F9F9F9;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal><span style='font-size:9.0pt'>FLECAINIDE ACETATE <o:p></o:p></span></p></td><td width=73 nowrap style='width:43.8pt;border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=right style='text-align:right;line-height:12.0pt;vertical-align:baseline'><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222'>758.79<o:p></o:p></span></p></td><td nowrap style='border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=right style='text-align:right;line-height:12.0pt;vertical-align:baseline'><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222'>758.79<o:p></o:p></span></p></td><td nowrap style='border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=right style='text-align:right;line-height:12.0pt;vertical-align:baseline'><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222'><o:p>&nbsp;</o:p></span></p></td></tr><tr><td width=168 valign=top style='width:100.95pt;border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;background:#F9F9F9;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal><span style='font-size:9.0pt'>MAXAIR AUTOHALER <o:p></o:p></span></p></td><td width=73 nowrap style='width:43.8pt;border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=right style='text-align:right;line-height:12.0pt;vertical-align:baseline'><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222'>1,689.79<o:p></o:p></span></p></td><td nowrap style='border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=right style='text-align:right;line-height:12.0pt;vertical-align:baseline'><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222'>1,689.79<o:p></o:p></span></p></td><td nowrap style='border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=right style='text-align:right;line-height:12.0pt;vertical-align:baseline'><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222'><o:p>&nbsp;</o:p></span></p></td></tr><tr><td width=168 valign=top style='width:100.95pt;border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;background:#F9F9F9;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal><span style='font-size:9.0pt'>MENOSTAR <o:p></o:p></span></p></td><td width=73 nowrap style='width:43.8pt;border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=right style='text-align:right;line-height:12.0pt;vertical-align:baseline'><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222'>1,482.10<o:p></o:p></span></p></td><td nowrap style='border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=right style='text-align:right;line-height:12.0pt;vertical-align:baseline'><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222'>1,482.10<o:p></o:p></span></p></td><td nowrap style='border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=right style='text-align:right;line-height:12.0pt;vertical-align:baseline'><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222'><o:p>&nbsp;</o:p></span></p></td></tr><tr><td width=168 valign=top style='width:100.95pt;border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;background:#F9F9F9;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal><span style='font-size:9.0pt'>NITROGLYCERIN <o:p></o:p></span></p></td><td width=73 nowrap style='width:43.8pt;border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=right style='text-align:right;line-height:12.0pt;vertical-align:baseline'><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222'>766.60<o:p></o:p></span></p></td><td nowrap style='border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=right style='text-align:right;line-height:12.0pt;vertical-align:baseline'><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222'>766.60<o:p></o:p></span></p></td><td nowrap style='border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=right style='text-align:right;line-height:12.0pt;vertical-align:baseline'><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222'><o:p>&nbsp;</o:p></span></p></td></tr><tr><td width=168 valign=top style='width:100.95pt;border:solid #D5D5D5 1.0pt;border-right:none;background:#F9F9F9;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal><span style='font-size:9.0pt'>PROVENTIL AEROSOL <o:p></o:p></span></p></td><td width=73 nowrap style='width:43.8pt;border:solid #D5D5D5 1.0pt;border-right:none;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=right style='text-align:right;line-height:12.0pt;vertical-align:baseline'><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222'>609.48<o:p></o:p></span></p></td><td nowrap style='border:solid #D5D5D5 1.0pt;border-right:none;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=right style='text-align:right;line-height:12.0pt;vertical-align:baseline'><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222'>609.48<o:p></o:p></span></p></td><td nowrap style='border:solid #D5D5D5 1.0pt;border-right:none;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=right style='text-align:right;line-height:12.0pt;vertical-align:baseline'><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222'><o:p>&nbsp;</o:p></span></p></td></tr><tr><td width=168 style='width:100.95pt;border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;background:#F9F9F9;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal style='line-height:12.0pt;vertical-align:baseline'><b><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222;background:yellow;mso-highlight:yellow'>TOTAL<o:p></o:p></span></b></p></td><td width=73 nowrap style='width:43.8pt;border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=right style='text-align:right;line-height:12.0pt;vertical-align:baseline'><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222;background:yellow;mso-highlight:yellow'>11536.24<o:p></o:p></span></p></td><td nowrap style='border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=right style='text-align:right;line-height:12.0pt;vertical-align:baseline'><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222;background:yellow;mso-highlight:yellow'>5306.76<o:p></o:p></span></p></td><td nowrap style='border-top:solid #D5D5D5 1.0pt;border-left:solid #D5D5D5 1.0pt;border-bottom:none;border-right:none;padding:3.0pt 7.5pt 3.0pt 3.75pt'><p class=MsoNormal align=right style='text-align:right;line-height:12.0pt;vertical-align:baseline'><span style='font-size:8.5pt;font-family:"inherit","serif";color:#222222;background:yellow;mso-highlight:yellow'>6229.48<o:p></o:p></span></p></td></tr></table><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>Since the total would be defined with [Drug].[All Drug], the [Net Pay Hosp] column ends up with an odd looking number, and the [Net Payment] column does not seem to add up correctly.&nbsp; Easy to explain to someone versed in MDX, not so easy to explain to the typical analyst.<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>Enter IgnoreMeasureForNonJoiningDimension.&nbsp; The thought was that we needed something essentially the opposite of ValidMeasure or IgnoreUnrelatedDimensions.&nbsp; ValidMeasure forces unrelated dimensions to the All level.&nbsp; We needed something that would cause evaluation to be null even if the unrelated dimension <i>was</i> at the All level.&nbsp; I worked with a developer from ThoughtWorks to get this enhancement in and passing cases with Cognos generated MDX.<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal>We used this functionality briefly before hitting enough other border cases around totals that we moved to an alternative fix involving more complex Cognos report specs. <o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>I&#8217;m curious now whether anyone else is using this functionality.&nbsp; If you are, it would be good to hear your use cases so we make sure they&#8217;re accounted for in 4.x. &nbsp;If no one is using it, it seems like a potential candidate for the chopping block.<o:p></o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal>As I&#8217;ve been poking at it today, I&#8217;ve noticed some things that seem broken even in Mondrian 3.x.&nbsp; For example, with IgnoreMeasureForNonJoiningDimension enabled, the following two queries give different results in 3.x.&nbsp; The first ignores the measure with the non-joining Gender dimension and returns null, the second query returns 196,770.888.<o:p></o:p></p><p class=MsoNormal style='text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas;color:blue'>WITH</span><span style='font-size:9.5pt;font-family:Consolas'> <span style='color:blue'>MEMBER</span> [Measures].[memberArrayValueCalc] <span style='color:blue'>as</span> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'>&nbsp;&nbsp;<span style='color:#A31515'>'( measures.[warehouse sales], [Gender].[All Gender], [Product].[All Products] )'</span><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas;color:blue'>SELECT</span><span style='font-size:9.5pt;font-family:Consolas'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'>&nbsp;&nbsp;&nbsp;[Measures].[memberArrayValueCalc] <span style='color:blue'>on</span> 0 <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas;color:blue'>FROM</span><span style='font-size:9.5pt;font-family:Consolas'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'>&nbsp;&nbsp;[warehouse and sales]<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'><o:p>&nbsp;</o:p></span></p><p class=MsoNormal style='margin-left:.5in'><o:p>&nbsp;</o:p></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas;color:blue'>SELECT</span><span style='font-size:9.5pt;font-family:Consolas'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'>&nbsp;&nbsp;([Measures].[warehouse sales], [Gender].[All Gender], [Product].[All Products] ) <span style='color:blue'>on</span> 0 <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas;color:blue'>FROM</span><span style='font-size:9.5pt;font-family:Consolas'> <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in;text-autospace:none'><span style='font-size:9.5pt;font-family:Consolas'>&nbsp;&nbsp;[warehouse and sales]<o:p></o:p></span></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p><p class=MsoNormal><o:p>&nbsp;</o:p></p></div></body></html>