Skip to Content
1
Former Member
Mar 16, 2015 at 12:39 PM

Join Pruning - Referential Joins

217 Views

So I think we have discovered why I sometime see inconsistent results with SAP HANA information views generated by SAP BW vs SAP HANA information views generated manual within SAP HANA Studio. There has been much contention on the subject of referential joins in an Analytic View and join pruning when they are executed. For those generated in SAP HANA studio, I have observed that join pruning is negated when there is a filter in the attribute view data foundation. Effectively SAP HANA executes the "Inner Join" because it noticed a filter defined within the attribute view. Every test I conducted concluded in the same result when I reviewed it with the plan visualization tool. In contrast, when testing the information views generated by SAP BW, I was not seeing the same behavior.

We then started reviewing the information view in XML view and noticed something new. They include an attribute called “forced” and it’s set to false in the models generated by BW 2 HANA import. I went back and created a filter on an attribute view using the HANA studio GUI and it does not include that option and it does not appear that there is any way to set that option in the GUI. So it seems there are more configuration options in the models than what is being exposed in the GUI, and the BW import process is taking advantage of some of them.

Example filter xml… the first is generated by the import process from BW the second manually created in SAP HANA Studio.

<columnFilter columnName="OBJVERS" forced="false">

<valueFilter xsi:type="AccessControl:SingleValueFilter" including="true" value="A"/>

</columnFilter>

<columnFilter columnName="CITY_2">

<valueFilter xsi:type="AccessControl:SingleValueFilter" including="true" value="TEST"/>

</columnFilter>

If it is true that this forced="false" setting changes how SAP HANA determines join pruning, why is this not exposed in the SAP HANA Studio GUI?