public async Task <List <string> > CalculateCube(string systemName, SessionDetails sessionDetails, Query baseQuery, List <Dimension> dimensions, List <Measure> measures, TimeSpan timeout) { if (baseQuery?.Selection?.TableName == null) { throw new ArgumentException("The specified baseQuery must have at least a selection with a table name in order for it to be a valid query", nameof(baseQuery)); } ICubesApi cubesApi = connectorFactory.CreateCubesApi(sessionDetails); Cube cube = new Cube( BaseQuery: baseQuery, ResolveTableName: baseQuery.Selection.TableName, Storage: Cube.StorageEnum.Full, Dimensions: dimensions, Measures: measures); CubeResult cubeResult = await cubesApi.CubesCalculateCubeSynchronouslyAsync(dataViewName, systemName, cube, (int)timeout.TotalSeconds, true); List <string> data = new List <string>(); if (cubeResult?.MeasureResults != null) { for (int measureIndex = 0; measureIndex < cubeResult.MeasureResults.Count; measureIndex++) { MeasureResult measureResult = cubeResult.MeasureResults[measureIndex]; Measure measure = measures[measureIndex]; AddMeaureToData(data, measure, measureResult, cubeResult.DimensionResults); data.Add(""); } } return(data); }
public void Execute(IZetboxContext ctx) { Result = Cube.Execute(GetQuery(ctx), QrySalesQuotesItemMonth); }
public void Execute(IZetboxContext ctx) { Result = Cube.Execute(GetQuery(ctx), QryInvoicesDate, QryInvoicesFulfillmentDate); }