internal IEnumerable <PerspectiveRow> Discover(IEnumerable <IFilter> filters)
        {
            var perspectives = new List <PerspectiveRow>();

            Inform("Investigating perspectives");

            using (var cmd = CreateCommand())
            {
                var adomdFiltering = Build(filters);
                cmd.CommandText = string.Format("select * from $system.mdschema_dimensions where 1=1{0}", adomdFiltering);
                var rdr = ExecuteReader(cmd);
                // Traverse the response and
                // read column 2, "CUBE_NAME"
                while (rdr.Read())
                {
                    var row = PerspectiveRow.Load(rdr);
                    if (row != null)
                    {
                        perspectives.Add(row);
                    }
                }
            }

            return(perspectives);
        }
Example #2
0
        public static PerspectiveRow Load(AdomdDataReader dataReader)
        {
            // Traverse the response and
            // read column 2, "CUBE_NAME"
            // read column 4, "MEASURE_UNIQUE_NAME"
            // read column 5, "MEASURE_CAPTION"
            // read column 18, "MEASUREGROUP_NAME"

            // Get the column value
            string perspectiveName = (string)dataReader.GetValue(2);
            if (!perspectiveName.StartsWith("$"))
            {
                // Get the column value
                var row = new PerspectiveRow();
                row.Name = perspectiveName;

                return row;
            }
            else
                return null;
        }
Example #3
0
        public static PerspectiveRow Load(AdomdDataReader dataReader)
        {
            // Traverse the response and
            // read column 2, "CUBE_NAME"
            // read column 4, "MEASURE_UNIQUE_NAME"
            // read column 5, "MEASURE_CAPTION"
            // read column 18, "MEASUREGROUP_NAME"

            // Get the column value
            string perspectiveName = (string)dataReader.GetValue(2);

            if (!perspectiveName.StartsWith("$"))
            {
                // Get the column value
                var row = new PerspectiveRow();
                row.Name = perspectiveName;

                return(row);
            }
            else
            {
                return(null);
            }
        }