Example #1
0
        public async Task <MeasureGroupCollection> GetMeasureGroupsAync()
        {
            if (_MeasureGroups == null)
            {
                _MeasureGroups = new MeasureGroupCollection();
            }

            if (_MeasureGroups.Count == 0)
            {
                var command = new XmlaCommand("MDSCHEMA_MEASUREGROUPS", Connection);
                command.CommandRestrictions.CubeName = CubeName;

                var response = await command.ExecuteAsync();

                try
                {
                    var tasks   = response.GetXRows().Select(xrow => xrow.ToXmlaObjectAsync <MeasureGroup>(this));
                    var results = await Task.WhenAll(tasks);

                    _MeasureGroups.AddRange(results);
                }
                catch
                {
                    throw;
                }
            }

            return(_MeasureGroups);
        }
Example #2
0
        public async Task <NamedSetCollection> GetNamedSetsAsync()
        {
            if (_NamedSets == null)
            {
                _NamedSets = new NamedSetCollection();
            }

            if (_NamedSets.Count == 0)
            {
                var command = new XmlaCommand("MDSCHEMA_SETS", Connection);
                command.CommandRestrictions.CubeName = CubeName;
                var response = await command.ExecuteAsync();

                try
                {
                    var tasks   = response.GetXRows().Select(xrow => xrow.ToXmlaObjectAsync <NamedSet>(this));
                    var results = await Task.WhenAll(tasks);

                    _NamedSets.AddRange(results);
                }
                catch
                {
                    throw;
                }
            }

            return(_NamedSets);
        }
Example #3
0
        public void DiscoverCubes()
        {
            bool assert     = true;
            var  connection = TestHelper.CreateConnectionToSsas();

            connection.Open();

            var command = new XmlaCommand("MDSCHEMA_CUBES", connection);

            try
            {
                SoapEnvelope result = command.Execute() as SoapEnvelope;
                var          rows   = result.GetXRows();
                foreach (var r in rows)
                {
                    assert = assert && r.Elements().Where(e => e.Name.LocalName == "CUBE_NAME").Count() > 0;
                }
                connection.Close();
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                assert = false;
            }
            Assert.IsTrue(assert);
        }
        public async Task <CubeDef> FindAsync(string name)
        {
            var res = this.FirstOrDefault(x => x.CubeName == name);

            if (res == null)
            {
                var command  = new XmlaCommand("MDSCHEMA_CUBES", Connection);
                var response = await command.ExecuteAsync();

                try
                {
                    var task = response.GetXRows().FirstOrDefault(xrow => xrow.Element(XName.Get("CUBE_NAME", Namespace.ComMicrosoftSchemasXmlaRowset))?.Value == name).ToXmlaObjectAsync <CubeDef>(this);
                    res = await task;
                    if (res != null)
                    {
                        res.CubeName = name;
                        Add(res);
                    }
                }
                catch (Exception e)
                {
                    throw;
                }
            }

            return(res);
        }
        public CubeDef Find(string name)
        {
            var res = this.FirstOrDefault(x => x.CubeName == name);

            if (res == null)
            {
                var command  = new XmlaCommand("MDSCHEMA_CUBES", Connection);
                var response = command.Execute() as SoapEnvelope;

                try
                {
                    foreach (var xrow in response.GetXRows())
                    {
                        if (xrow.Element(XName.Get("CUBE_NAME", Namespace.ComMicrosoftSchemasXmlaRowset)).Value != name)
                        {
                            continue;
                        }

                        res            = xrow.ToObject <CubeDef>();
                        res.Connection = Connection;
                        Add(res);
                        break;
                    }
                }
                catch (Exception e)
                {
                    throw;
                }
            }

            return(res);
        }
Example #6
0
        public async Task <DimensionCollection> GetDimensionsAsync()
        {
            if (_Dimensions == null)
            {
                var command = new XmlaCommand("MDSCHEMA_DIMENSIONS", Connection);
                command.CommandRestrictions.CubeName = CubeName;
                var response = await command.ExecuteAsync();

                _Dimensions = new DimensionCollection(this, response.GetXRows());
            }

            return(_Dimensions);
        }
Example #7
0
        public async Task ExecuteCellSetAsync()
        {
            var connection = TestHelper.CreateConnectionToSsas();
            await connection.OpenAsync();

            var     statment = TestHelper.TEST_CELLSET_COMMAND;
            var     command  = new XmlaCommand(statment, connection);
            CellSet cellset  = null;

            cellset = await command.ExecuteCellSetAsync();

            Assert.IsTrue(cellset != null && cellset.Axes.Count > 0 && cellset.Cells.Count > 0);
            await connection.CloseAsync();
        }
Example #8
0
        public async Task <HierarchyCollection> GetHierarchiesAsync()
        {
            if (_Hierarchies == null)
            {
                var command = new XmlaCommand("MDSCHEMA_HIERARCHIES", Connection);
                command.CommandRestrictions.CubeName            = CubeName;
                command.CommandRestrictions.DimensionUniqueName = UniqueName;
                var response = await command.ExecuteAsync();

                _Hierarchies = new HierarchyCollection(this, response.GetXRows());
                //_Hierarchies.ToArray();
            }

            return(_Hierarchies);
        }
Example #9
0
        public void Execute()
        {
            bool assert     = true;
            var  connection = TestHelper.CreateConnectionToSsas();
            var  command    = new XmlaCommand("", connection);

            try
            {
                var result = command.Execute();
            }
            catch
            {
                assert = false;
            }
            Assert.IsTrue(assert);
        }
Example #10
0
        public async Task ExecuteCellSetAsync()
        {
            var connection = new XmlaConnection("Data Source=http://localhost/OLAP/msmdpump.dll;Initial Catalog=Analysis Services Tutorial");
            await connection.OpenAsync();

            //var statment = "SELECT FROM [Analysis Services Tutorial] WHERE [Measures].[Internet Sales Count]";
            //var statment = "SELECT {HEAD(NONEMPTY({{[Product].[Category].[Category].ALLMEMBERS}}), 250000)} DIMENSION PROPERTIES MEMBER_TYPE ON 0 FROM [Analysis Services Tutorial] WHERE [Measures].[Internet Sales Count]";
            var     statment = "SELECT {HEAD(NONEMPTY({{[Product].[Category].&[4],[Product].[Category].&[1]}*{[Date].[Fiscal Year].[Fiscal Year].ALLMEMBERS}*{[Reseller Geography].[Country-Region].[Country-Region].ALLMEMBERS}}), 250000)} DIMENSION PROPERTIES MEMBER_TYPE ON 0 FROM [Analysis Services Tutorial] WHERE [Measures].[Internet Sales Count]";
            var     command  = new XmlaCommand(statment, connection);
            CellSet cellset  = null;

            cellset = await command.ExecuteCellSetAsync();

            Assert.IsTrue(cellset != null && cellset.Axes.Count > 0 && cellset.Cells.Count > 0);
            await connection.CloseAsync();
        }
Example #11
0
        public async Task ExecuteAsync()
        {
            bool assert     = true;
            var  connection = new XmlaConnection("Data Source=http://localhost/OLAP/msmdpump.dll;Initial Catalog=Analysis Services Tutorial");
            var  command    = new XmlaCommand("", connection);

            try
            {
                var result = await command.ExecuteAsync();
            }
            catch
            {
                assert = false;
            }
            Assert.IsTrue(assert);
        }
Example #12
0
        public void DiscoverCubes()
        {
            bool assert     = true;
            var  connection = TestHelper.CreateConnectionToSsas();

            connection.Open();

            var command = new XmlaCommand("MDSCHEMA_CUBES", connection);

            try
            {
                SoapEnvelope result = command.Execute() as SoapEnvelope;
                connection.Close();
            }
            catch (Exception e)
            {
                assert = false;
            }
            Assert.IsTrue(assert);
        }