Vraag:

Onder de geavanceerde opties van de query staat een optie Filter assen door huidige measure. Wat doet de query-optie en wanneer gebruik ik deze ?


Antwoord:

Wanneer deze optie is aangevinkt wordt de nonempty()-functie toegepast op de set die op de rijen staat. De meetwaarden die op de kolom-as staan worden doorgegeven als tweede parameter aan deze functie.


Normaal gesproken is dit een goed idee omdat dit het aantal tuples reduceert (lege worden immers weggegooid, vandaar de naam van de functie) en daardoor performt de query beter. 


Echter er zit een gevaar in het gebruik van deze optie wanneer er behalve de measures nog 1 of meer andere attribuut hiërarchieën op de kolom-as staan. (Vooral wanneer de default-member niet de Alle-member is). Deze attributen zijn namelijk geen onderdeel van de set die als 2e parameter wordt doorgegeven aan de nonempty()-functie. Analysis Services zal daarom handelen alsof de default-member van die attribuut hierarchie wordt doorgegeven (Normaal gesproken de Alle-member). Dit kan er toe leiden dat er tuples ten onrechte als leeg worden gezien omdat deze voor de default-member null zijn maar misschien niet voor de member die op de kolom-as staat. 


Wees hier dus alert op.