Exemplo n.º 1
0
        public async Task <KpiCollection> GetKpisAsync()
        {
            if (_Kpis == null)
            {
                _Kpis = new KpiCollection();
            }

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

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

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

            return(_Kpis);
        }
Exemplo n.º 2
0
        public void FindMemberProperty()
        {
            var connection = TestHelper.CreateConnectionToSsas();

            connection.Open();

            CubeDef cube = TestHelper.GetCube(connection);

            KpiCollection kpis = cube.Kpis;

            MeasureCollection meas = cube.Measures;

            DimensionCollection dims = cube.Dimensions;

            HierarchyCollection hiers = dims[0].Hierarchies;

            LevelCollection levels = hiers[0].Levels;

            MemberCollection members = levels[1].GetMembers();

            MemberProperty prop = members[0].MemberProperties.Find("PARENT_UNIQUE_NAME");

            Assert.IsTrue(!string.IsNullOrEmpty(prop.Value.ToString()));

            connection.Close();
        }