public boolean hasMeasures(String expr, CubeInterface cube) { String alias = cubeql.getAliasForTableName(cube.getName()); ExpressionContext ec = getExpressionContext(expr, alias); boolean hasMeasures = false; for (ExprSpecContext esc : ec.allExprs) { if (esc.getTblAliasToColumns().get(alias) != null) { for (String cubeCol : esc.getTblAliasToColumns().get(alias)) { if (cube.getMeasureByName(cubeCol) != null) { hasMeasures = true; break; } } } } ec.hasMeasures = hasMeasures; return hasMeasures; }