public static string BuildColumnCommandText(TabularItems.Table table, DaxFilter daxFilter) { //TODO: problem is that column name = "Tran_YearMonthDay" // this needs to be Tran_Year and TranMonth TabularItems.Column column = null; string commandText = ""; if (daxFilter.IsHierarchy) { for (int i = 0; i < daxFilter.ValueHierarchy.Length; i++) { DaxColumn dc = daxFilter.ColumnNameHierarchy[i]; column = table.Columns.Find(dc.ColumnName); if (!string.IsNullOrEmpty(commandText)) { commandText += " && "; } commandText += BuildColumnCommandText(column, dc.TableName, dc.ColumnName, daxFilter.ValueHierarchy[i]); } } else { column = table.Columns.Find(daxFilter.ColumnName); commandText = BuildColumnCommandText(column, daxFilter.TableName, daxFilter.ColumnName, daxFilter.Value); } return(commandText); }
public static string GetValueFromPivotItem(DaxFilter df) { try { return(df.Value); } catch (Exception ex) { throw new Exception(ex.Message + string.Format("\r\nCould not parse '{0}'", df.MDX), ex); } }
public DaxFilter CreateDaxFilter() { daxFilter = new DaxFilter(); daxFilter.IsHierarchy = PivotItemIsHierarchy(pivotItemValue); daxFilter.ColumnName = GetColumnName(); daxFilter.TableName = GetTableName(); daxFilter.ValueHierarchy = GetValue(daxFilter.IsHierarchy); daxFilter.Value = daxFilter.ValueHierarchy == null ? null : daxFilter.ValueHierarchy[0]; daxFilter.ColumnNameHierarchy = GetColumnNameHierarchy(); return(daxFilter); }