/// <summary> /// Introduces a sub cube that will be used in the query. /// </summary> /// <param name="subCube">The expression to create the sub cube.</param> /// <returns></returns> public IMdxQueryable <T> FromSubCube(Expression <Func <T, IEnumerable <ICubeObject> > > subCube) { var comp = new MdxComponent(Component.SubCube) { Creator = subCube }; this._components.Add(comp); return(this); }
/// <summary> /// Introduces a new query scoped calculated set and stores it to be queried. /// </summary> /// <param name="name">The name of the calculated set.</param> /// <param name="axisNumber">The axis number this query should be queried in. If the value is null, it will not be placed on any axis.</param> /// <param name="setCreator">The expression to create this calculated set.</param> /// <returns></returns> public IMdxQueryable <T> WithSet(string name, byte?axisNumber, Expression <Func <T, Set> > setCreator) { var comp = new MdxComponent(Component.CreatedSet, name, setCreator) { Axis = axisNumber, DeclarationOrder = this._createdDepth++ }; this._components.Add(comp); return(this); }