Due to the historical reasons MDX2JSON uses naive axis cell resolution strategy which involves iterating all cells in the axis/tuple and determining their visibility later on.
This is implemented in a MDX2JSON.ResultSet class, specifically:
AxesToListOfObjects - entrypoint
ProcessOneAxis
ProcessOneAxisCell - main work happens here
Compared to that, DSR uses a much more effective approach of using %GetOrdinalLabel (see %ZEN.Auxiliary.jsonMDXProvider:%DrawJSON).
We need to move to this approach - it's faster and would prevent the whole visibility debacle.
Related hotfix.
Due to the historical reasons MDX2JSON uses naive axis cell resolution strategy which involves iterating all cells in the axis/tuple and determining their visibility later on.
This is implemented in a MDX2JSON.ResultSet class, specifically:
AxesToListOfObjects- entrypointProcessOneAxisProcessOneAxisCell- main work happens hereCompared to that, DSR uses a much more effective approach of using
%GetOrdinalLabel(see%ZEN.Auxiliary.jsonMDXProvider:%DrawJSON).We need to move to this approach - it's faster and would prevent the whole visibility debacle.
Related hotfix.