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