/** * Returns the scenario inside a calculated member in the scenario dimension. For example, applied * to [Scenario].[1], returns the Scenario object representing scenario #1. * * @param member Wrapper member * @return Wrapped scenario */ static Scenario forMember(final RolapMember member) { if (isScenario(member.getHierarchy())) { final Formula formula = ((RolapCalculatedMember) member).getFormula(); final ResolvedFunCall resolvedFunCall = (ResolvedFunCall) formula.getExpression(); final Calc calc = resolvedFunCall.getFunDef().compileCall(null, null); return ((ScenarioCalc) calc).getScenario(); } else { return null; } }