# Understanding Filter Propagation and Its Impact on Metrics

<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>When learners begin a <strong><a href="https://www.cromacampus.com/courses/best-power-bi-training-in-delhi-ncr/">Power BI Course in Delhi</a></strong>, they often focus on visuals, dashboards, and DAX formulas. However, many reporting errors are not caused by visuals or calculations. They are caused by filter propagation across relationships in the data model.</p>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Filter propagation determines how slicers, page filters, and report filters travel between tables. If relationships are not designed carefully, metrics may look correct in one visual and completely wrong in another. In enterprise reporting, small misunderstandings in filter direction can create large business confusion.</p>
<h2 style='margin-top:.25in;margin-right:0in;margin-bottom:4.0pt;margin-left:0in;line-height:115%;font-size:21px;font-family:"Arial",sans-serif;font-weight:normal;text-align:justify;'><strong><span style="font-size:23px;line-height:115%;">What Is Filter Propagation?</span></strong></h2>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Filter propagation describes how a filter applied to one table affects related tables through relationships.</p>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>For example:</p>
<ul>
<li>A slicer on <span style='font-family:"Roboto Mono";'>Date</span> filters <span style='font-family:"Roboto Mono";'>Sales</span></li>
<li>A slicer on <span style='font-family:"Roboto Mono";'>region</span> filters <span style='font-family:"Roboto Mono";'>Customers</span></li>
<li>Those filters combine to affect totals</li>
</ul>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>The behavior depends on:</p>
<ul>
<li>Relationship direction</li>
<li>Cardinality</li>
<li>Active vs inactive relationships</li>
<li>Cross-filter settings</li>
</ul>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>If any of these are misconfigured, totals may inflate or shrink incorrectly.</p>
<h2 style='margin-top:.25in;margin-right:0in;margin-bottom:4.0pt;margin-left:0in;line-height:115%;font-size:21px;font-family:"Arial",sans-serif;font-weight:normal;text-align:justify;'><strong><span style="font-size:23px;line-height:115%;">Relationship Direction and Its Effect</span></strong></h2>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>In Power BI, relationships can be:</p>
<ul>
<li>Single direction</li>
<li>Both direction (bi-directional)</li>
</ul>
<table style="border-collapse: collapse;border: none;width: 624px;">
<tbody>
<tr>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'><strong>Relationship Type</strong></p>
</td>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'><strong>Filter Flow</strong></p>
</td>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'><strong>Risk Level</strong></p>
</td>
</tr>
<tr>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Single direction</p>
</td>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>One-way</p>
</td>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Low</p>
</td>
</tr>
<tr>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Bi-directional</p>
</td>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Two-way</p>
</td>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>High if misused</p>
</td>
</tr>
</tbody>
</table>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Single-direction relationships are safer for most models because they reduce ambiguity. Bi-directional relationships can create unexpected filtering paths, especially in many-to-many scenarios.</p>
<h2 style='margin-top:.25in;margin-right:0in;margin-bottom:4.0pt;margin-left:0in;line-height:115%;font-size:21px;font-family:"Arial",sans-serif;font-weight:normal;text-align:justify;'><strong><span style="font-size:23px;line-height:115%;">Star Schema vs Complex Joins</span></strong></h2>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Filter propagation works best in a star schema model.</p>
<h3 style='margin-top:14.0pt;margin-right:0in;margin-bottom:4.0pt;margin-left:0in;line-height:115%;font-size:19px;font-family:"Arial",sans-serif;color:#434343;font-weight:normal;text-align:justify;'><strong><span style="font-size:17px;line-height:115%;color:black;">Star Schema Characteristics</span></strong></h3>
<ul>
<li>Central fact table</li>
<li>Surrounding dimension tables</li>
<li>One-to-many relationships</li>
</ul>
<table style="border-collapse: collapse;border: none;width: 624px;">
<tbody>
<tr>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'><strong>Model Type</strong></p>
</td>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'><strong>Filter Stability</strong></p>
</td>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'><strong>Performance</strong></p>
</td>
</tr>
<tr>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Star Schema</p>
</td>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>High</p>
</td>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Optimized</p>
</td>
</tr>
<tr>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Snowflake / Complex</p>
</td>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Medium</p>
</td>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Slower</p>
</td>
</tr>
<tr>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Many-to-many heavy</p>
</td>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Low</p>
</td>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Risky</p>
</td>
</tr>
</tbody>
</table>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>In structured learning environments like <strong><a href="21https%3A/www.cromacampus.com/courses/power-bi-online-training-in-india/">Power BI Online Training</a></strong>, emphasis is placed on designing fact-dimension models before writing calculations. This prevents filter confusion later.</p>
<h2 style='margin-top:.25in;margin-right:0in;margin-bottom:4.0pt;margin-left:0in;line-height:115%;font-size:21px;font-family:"Arial",sans-serif;font-weight:normal;text-align:justify;'><strong><span style="font-size:23px;line-height:115%;">Common Metric Errors Caused by Filters</span></strong></h2>
<h3 style='margin-top:14.0pt;margin-right:0in;margin-bottom:4.0pt;margin-left:0in;line-height:115%;font-size:19px;font-family:"Arial",sans-serif;color:#434343;font-weight:normal;text-align:justify;'><strong><span style="font-size:17px;line-height:115%;color:black;">1. Double Counting</span></strong></h3>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Occurs when multiple relationships allow the same filter to pass twice.</p>
<h3 style='margin-top:14.0pt;margin-right:0in;margin-bottom:4.0pt;margin-left:0in;line-height:115%;font-size:19px;font-family:"Arial",sans-serif;color:#434343;font-weight:normal;text-align:justify;'><strong><span style="font-size:17px;line-height:115%;color:black;">2. Blank Results</span></strong></h3>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Happens when filters eliminate rows unintentionally due to inactive relationships.</p>
<h3 style='margin-top:14.0pt;margin-right:0in;margin-bottom:4.0pt;margin-left:0in;line-height:115%;font-size:19px;font-family:"Arial",sans-serif;color:#434343;font-weight:normal;text-align:justify;'><strong><span style="font-size:17px;line-height:115%;color:black;">3. Inflated Totals</span></strong></h3>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Common in many-to-many setups where filter paths multiply rows.</p>
<h2 style='margin-top:.25in;margin-right:0in;margin-bottom:4.0pt;margin-left:0in;line-height:115%;font-size:21px;font-family:"Arial",sans-serif;font-weight:normal;text-align:justify;'><strong><span style="font-size:23px;line-height:115%;">Inactive Relationships and USERELATIONSHIP</span></strong></h2>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Power BI allows inactive relationships for alternative date logic.</p>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Example:</p>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Sales by Ship Date =</p>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>CALCULATE(</p>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'> SUM(Sales[Amount]),</p>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'> USERELATIONSHIP(Sales[ShipDate], Date[Date])</p>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>)</p>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'> </p>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>If inactive relationships are not handled properly, measures may use the wrong date column without obvious signs.</p>
<h2 style='margin-top:.25in;margin-right:0in;margin-bottom:4.0pt;margin-left:0in;line-height:115%;font-size:21px;font-family:"Arial",sans-serif;font-weight:normal;text-align:justify;'><strong><span style="font-size:23px;line-height:115%;">Filter Context vs Row Context</span></strong></h2>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Filter propagation operates inside filter context.</p>
<h3 style='margin-top:14.0pt;margin-right:0in;margin-bottom:4.0pt;margin-left:0in;line-height:115%;font-size:19px;font-family:"Arial",sans-serif;color:#434343;font-weight:normal;text-align:justify;'><strong><span style="font-size:17px;line-height:115%;color:black;">Filter Context</span></strong></h3>
<ul>
<li>Created by slicers</li>
<li>Created by visuals</li>
<li>Created by CALCULATE</li>
</ul>
<h3 style='margin-top:14.0pt;margin-right:0in;margin-bottom:4.0pt;margin-left:0in;line-height:115%;font-size:19px;font-family:"Arial",sans-serif;color:#434343;font-weight:normal;text-align:justify;'><strong><span style="font-size:17px;line-height:115%;color:black;">Row Context</span></strong></h3>
<ul>
<li>Created in calculated columns</li>
<li>Exists inside iterators</li>
</ul>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Confusing these contexts leads to incorrect assumptions about why a metric changes.</p>
<table style="border-collapse: collapse;border: none;width: 624px;">
<tbody>
<tr>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'><strong>Context Type</strong></p>
</td>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'><strong>Where It Appears</strong></p>
</td>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'><strong>Effect on Metrics</strong></p>
</td>
</tr>
<tr>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Filter Context</p>
</td>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Reports, Measures</p>
</td>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Changes aggregation</p>
</td>
</tr>
<tr>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Row Context</p>
</td>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Calculated columns</p>
</td>
<td style="width: 156pt;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Evaluates row by row</p>
</td>
</tr>
</tbody>
</table>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Understanding context prevents unexpected totals.</p>
<h2 style='margin-top:.25in;margin-right:0in;margin-bottom:4.0pt;margin-left:0in;line-height:115%;font-size:21px;font-family:"Arial",sans-serif;font-weight:normal;text-align:justify;'><strong><span style="font-size:23px;line-height:115%;">Many-to-Many Relationships</span></strong></h2>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Many-to-many models introduce ambiguity in filter flow.</p>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Risks include:</p>
<ul>
<li>Duplicate counts</li>
<li>Unexpected blanks</li>
<li>Slower query performance</li>
</ul>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Solutions:</p>
<ul>
<li>Use bridge tables</li>
<li>Redesign to star schema</li>
<li>Avoid bi-directional filters unless required</li>
</ul>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Advanced model discussions in a <strong><a href="https://www.cromacampus.com/courses/power-bi-course-in-pune/">Power BI Course in Pune</a></strong> often highlight how bridge tables stabilize many-to-many scenarios.</p>
<h2 style='margin-top:.25in;margin-right:0in;margin-bottom:4.0pt;margin-left:0in;line-height:115%;font-size:21px;font-family:"Arial",sans-serif;font-weight:normal;text-align:justify;'><strong><span style="font-size:23px;line-height:115%;">Debugging Filter Issues</span></strong></h2>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>When numbers look wrong, follow a structured approach:</p>
<ul>
<li>Check relationship direction</li>
<li>Verify active relationships</li>
<li>Test measures without slicers</li>
<li>Use simple SUM before complex DAX</li>
<li>Inspect model view carefully</li>
</ul>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Small structural errors usually explain large reporting differences.</p>
<h2 style='margin-top:.25in;margin-right:0in;margin-bottom:4.0pt;margin-left:0in;line-height:115%;font-size:21px;font-family:"Arial",sans-serif;font-weight:normal;text-align:justify;'><strong><span style="font-size:23px;line-height:115%;">Best Practices for Stable Metrics</span></strong></h2>
<ul>
<li>Keep relationships single-direction when possible</li>
<li>Design star schema models</li>
<li>Avoid unnecessary bi-directional filtering</li>
<li>Use bridge tables for complex relationships</li>
<li>Test measures under multiple filter combinations</li>
</ul>
<table style="border-collapse: collapse;border: none;width: 624px;">
<tbody>
<tr>
<td style="width: 3.25in;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'><strong>Best Practice</strong></p>
</td>
<td style="width: 3.25in;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'><strong>Why It Matters</strong></p>
</td>
</tr>
<tr>
<td style="width: 3.25in;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Star Schema</p>
</td>
<td style="width: 3.25in;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Clean filter flow</p>
</td>
</tr>
<tr>
<td style="width: 3.25in;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Controlled direction</p>
</td>
<td style="width: 3.25in;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Avoid ambiguity</p>
</td>
</tr>
<tr>
<td style="width: 3.25in;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Clear naming</p>
</td>
<td style="width: 3.25in;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Easier debugging</p>
</td>
</tr>
<tr>
<td style="width: 3.25in;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Minimal many-to-many</p>
</td>
<td style="width: 3.25in;border: none;padding: 5pt;vertical-align: top;">
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'>Stable totals</p>
</td>
</tr>
</tbody>
</table>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'> </p>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'><strong><span style="font-size:23px;line-height:115%;">Performance Considerations</span></strong></p>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Filter propagation affects performance as well as accuracy.</p>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Poor design can cause:</p>
<ul>
<li>Large intermediate result sets</li>
<li>Slow query execution</li>
<li>Memory pressure</li>
</ul>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Optimized relationships reduce computational load inside the engine.</p>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;text-align:justify;'><strong><span style="font-size:23px;line-height:115%;">Conclusion</span></strong></p>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Filter propagation directly impacts metric accuracy, even when DAX formulas are written correctly. Most reporting errors originate in model structure rather than in calculations.</p>
<p style='margin:0in;line-height:115%;font-size:15px;font-family:"Arial",sans-serif;margin-top:12.0pt;margin-right:0in;margin-bottom:12.0pt;margin-left:0in;text-align:justify;'>Understanding relationship direction, context behaviour, and schema design ensures stable and trustworthy dashboards. Reliable reporting depends on controlled filter flow, not just attractive visuals.</p>