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); }
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(); }