Question:

What does the query option "Filter axis by measure" do?


Answer:

When this option is set, the nonempty() function is applied to the set on the rowaxis. The measures from the columnaxis are passed to this function as the second parameter.


This is generally speaking a good idea to enable this option because it will reduce the number of tuples and will therefor have a better query performance. However, this option can be tricky when there are also other attribute hierarchies placed on the columnsaxis. (Especially when the attribute has a default member!) These attributes are not part of the set that is passed to the second parameter of the nonempty()-function. Therefor Analysis Services will act as if the default member of that hierarchie is passed. This can lead to a situation where tuples are disregareded because they evaluate to null for the deafult member while in reality an other member of the attribute hierarchie is placed on the columns.