Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 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);
     }
 }
Ejemplo n.º 3
0
        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);
        }