示例#1
0
        internal new IEnumerable <MeasureGroupRow> Discover(IEnumerable <IFilter> filters)
        {
            var measureGroups = new List <MeasureGroupRow>();

            Inform("Investigating measure-groups");

            using (var cmd = CreateCommand())
            {
                var adomdFiltering = Build(filters);
                cmd.CommandText = string.Format("SELECT * FROM $system.mdschema_measures WHERE MEASURE_IS_VISIBLE{0}", adomdFiltering);
                var rdr = ExecuteReader(cmd);

                while (rdr.Read())
                {
                    var row = MeasureGroupRow.Load(rdr);
                    if (row != null)
                    {
                        if (!measureGroups.Exists(mg => mg.Name == row.Name && mg.PerspectiveName == row.PerspectiveName))
                        {
                            measureGroups.Add(row);
                        }
                    }
                }
            }

            return(measureGroups);
        }
        internal IEnumerable <MeasureGroupRow> Discover(IEnumerable <IFilter> filters)
        {
            var measureGroups = new List <MeasureGroupRow>();

            Inform("Investigating links to a dimension");

            using (var cmd = CreateCommand())
            {
                var adomdFiltering = Build(filters);
                cmd.CommandText = string.Format("SELECT * FROM $system.mdschema_measuregroup_dimensions WHERE DIMENSION_IS_VISIBLE{0}", adomdFiltering);
                var rdr = ExecuteReader(cmd);

                while (rdr.Read())
                {
                    var row = MeasureGroupRow.Load(rdr);
                    if (row != null)
                    {
                        measureGroups.Add(row);
                    }
                }
            }

            return(measureGroups);
        }