public override ExpressionNode VisitValue_expression_primary([NotNull] mdxParser.Value_expression_primaryContext context) { if (context.children.Count > 1) { var k = context.children; var Dimensions = new DimensionNode(); Dimensions.Measures = Visit(k[0]); NumberNode Values = new NumberNode(); Values.Value = ""; for (int i = 2; i < k.Count; i = i + 2) { NumberNode TempNode = (NumberNode)Visit(k[i]); Values.Value += TempNode.Value + "."; } Values.Value = Values.Value.Substring(0, Values.Value.Length - 1); Dimensions.MeasureValue = Values; return(Dimensions); } else { var k = base.VisitValue_expression_primary(context); return(k); } }
public override ExpressionNode VisitMember_specification([NotNull] mdxParser.Member_specificationContext context) { MembersNode node = new MembersNode(); NumberNode k = (NumberNode)Visit(context.member_name()); node.MemberName = k.Value; node.Dimensions = Visit(context.value_expression()); return(node); }
public override ExpressionNode VisitCompound_id([NotNull] mdxParser.Compound_idContext context) { if (context.children.Count > 1) { var List = context.children; var Dimension = new NumberNode(); Dimension.Value = ""; for (int i = 0; i < List.Count; i = i + 2) { NumberNode node = (NumberNode)Visit(List[i]); Dimension.Value += node.Value; } return(Dimension); } else { return(new CubeNode { CubeName = context.Start.Text }); } }