protected override void PopulateCollection()
 {
     if (!this.isPopulated)
     {
         base.PopulateCollection();
         string b = "";
         if (this.parentObject is MiningModel)
         {
             b = "";
         }
         else if (this.parentObject is MiningModelColumn)
         {
             b = ((MiningModelColumn)this.parentObject).Name;
         }
         int i = 0;
         while (i < this.Count)
         {
             MiningModelColumn miningModelColumn = this[i];
             if (miningModelColumn.ContainingColumn != b)
             {
                 this.internalCollection.RemoveAt(i);
             }
             else
             {
                 i++;
             }
         }
     }
 }
        internal MiningModelColumnCollectionInternal(AdomdConnection connection, MiningModelColumn parentColumn) : base(connection)
        {
            string name = parentColumn.ParentMiningModel.Name;

            this.parentObject = parentColumn;
            this.InternalConstructor(connection, name);
        }
Example #3
0
 internal MiningAttribute(MiningModel parentModel)
 {
     this.attributeID      = -1;
     this.parentModel      = parentModel;
     this.name             = "";
     this.shortName        = "";
     this.valueColumn      = null;
     this.keyColumn        = null;
     this.featureSelection = MiningFeatureSelection.NotSelected;
 }
Example #4
0
        private void ParseAttributeName()
        {
            if (this.name.Length == 0)
            {
                return;
            }
            int  num  = this.name.IndexOf('(');
            int  num2 = this.name.IndexOf(')');
            int  num3 = this.name.IndexOf('.');
            bool flag = false;

            if (num > 0 && num2 > num && (num3 < 0 || num3 == num2 + 1))
            {
                flag = true;
            }
            if (!flag)
            {
                this.valueColumn = this.parentModel.Columns[this.name];
                if (this.valueColumn != null)
                {
                    this.shortName = this.name;
                    return;
                }
            }
            else
            {
                bool   flag2 = num3 < 0;
                string index = this.name.Substring(0, num);
                this.parentColumn = this.parentModel.Columns[index];
                if (this.parentColumn == null)
                {
                    return;
                }
                if (flag2)
                {
                    this.valueColumn = null;
                    MiningModelColumnCollection.Enumerator enumerator = this.parentColumn.Columns.GetEnumerator();
                    while (enumerator.MoveNext())
                    {
                        MiningModelColumn current = enumerator.Current;
                        if (current.Content == "KEY")
                        {
                            this.keyColumn = current;
                            this.shortName = this.name;
                        }
                    }
                    return;
                }
                string index2 = this.name.Substring(num3 + 1);
                this.valueColumn = this.parentColumn.Columns[index2];
                this.shortName   = index2;
            }
        }
 public MiningModelColumn this[string index]
 {
     get
     {
         MiningModelColumn miningModelColumn = this.Find(index);
         if (null == miningModelColumn)
         {
             throw new ArgumentException(SR.Indexer_ObjectNotFound(index), "index");
         }
         return(miningModelColumn);
     }
 }
        private void PopulateCollection(MiningModel parentModel)
        {
            this.hashAttrIDs = new Hashtable();
            AdomdCommand adomdCommand = new AdomdCommand();

            adomdCommand.Connection = parentModel.ParentConnection;
            int num = 0;

            MiningModelColumnCollection.Enumerator enumerator = parentModel.Columns.GetEnumerator();
            while (enumerator.MoveNext())
            {
                MiningModelColumn current = enumerator.Current;
                if (current.IsTable)
                {
                    MiningModelColumnCollection.Enumerator enumerator2 = current.Columns.GetEnumerator();
                    while (enumerator2.MoveNext())
                    {
                        MiningModelColumn arg_54_0 = enumerator2.Current;
                        num++;
                    }
                }
            }
            adomdCommand.CommandText = string.Format(CultureInfo.InvariantCulture, MiningAttributeCollection.attribQueryStmt, new object[]
            {
                parentModel.Name
            });
            AdomdDataReader adomdDataReader = adomdCommand.ExecuteReader(CommandBehavior.SequentialAccess);

            while (adomdDataReader.Read())
            {
                int             @int            = adomdDataReader.GetInt32(MiningAttributeCollection.attIdIndex);
                string          @string         = adomdDataReader.GetString(MiningAttributeCollection.nameIndex);
                string          string2         = adomdDataReader.GetString(MiningAttributeCollection.shortNameIndex);
                bool            boolean         = adomdDataReader.GetBoolean(MiningAttributeCollection.isInputIndex);
                bool            boolean2        = adomdDataReader.GetBoolean(MiningAttributeCollection.isPredictableIndex);
                int             int2            = adomdDataReader.GetInt32(MiningAttributeCollection.featureSelectionIndex);
                string          string3         = adomdDataReader.GetString(MiningAttributeCollection.keyColumnIndex);
                string          string4         = adomdDataReader.GetString(MiningAttributeCollection.valueColumnIndex);
                MiningAttribute miningAttribute = new MiningAttribute(parentModel);
                miningAttribute.attributeID      = @int;
                miningAttribute.name             = @string;
                miningAttribute.shortName        = string2;
                miningAttribute.isInput          = boolean;
                miningAttribute.isPredictable    = boolean2;
                miningAttribute.featureSelection = (MiningFeatureSelection)int2;
                miningAttribute.keyColumn        = this.ModelColumnFromName(string3, parentModel);
                miningAttribute.valueColumn      = this.ModelColumnFromName(string4, parentModel);
                this.hashAttrIDs.Add(miningAttribute.name, miningAttribute.attributeID);
                this.arAttributesInternal.Add(miningAttribute);
            }
            adomdDataReader.Close();
            adomdCommand.Dispose();
        }
        internal static MiningModelColumn GetMiningModelColumnByRow(AdomdConnection connection, DataRow row, IAdomdBaseObject parentObject, string catalog, string sessionId)
        {
            MiningModelColumn miningModelColumn;

            if (row[0] is DBNull)
            {
                miningModelColumn = new MiningModelColumn(connection, row, parentObject, catalog, sessionId);
                row[0]            = miningModelColumn;
            }
            else
            {
                miningModelColumn = (MiningModelColumn)row[0];
            }
            return(miningModelColumn);
        }
        internal MiningValueCollectionInternal(MiningModelColumn column)
        {
            this.internalObjectCollection = new ArrayList();
            if (column.IsTable)
            {
                return;
            }
            AdomdCommand adomdCommand = new AdomdCommand();

            adomdCommand.CommandText = string.Format(CultureInfo.InvariantCulture, "SELECT DISTINCT {0} FROM [{1}]", new object[]
            {
                column.FullyQualifiedName,
                column.ParentMiningModel.Name
            });
            adomdCommand.Connection = column.ParentMiningModel.ParentConnection;
            AdomdDataReader adomdDataReader = adomdCommand.ExecuteReader();
            int             num             = -1;

            while (adomdDataReader.Read())
            {
                num++;
                object          objValue  = adomdDataReader[0];
                string          content   = column.Content;
                MiningValueType valueType = MiningValueType.Missing;
                if (num == 0 && content.IndexOf("key", StringComparison.OrdinalIgnoreCase) < 0)
                {
                    valueType = MiningValueType.Missing;
                }
                else if (string.Compare(content, "discrete", StringComparison.OrdinalIgnoreCase) == 0 || string.Compare(content, "key", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    valueType = MiningValueType.Discrete;
                }
                else if (content.IndexOf("discretized", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    valueType = MiningValueType.Discretized;
                }
                else if (string.Compare(content, "continuous", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    valueType = MiningValueType.Continuous;
                }
                MiningValue newValue = new MiningValue(valueType, num, objValue);
                this.Add(newValue);
            }
            adomdDataReader.Close();
            adomdDataReader.Dispose();
            adomdCommand.Dispose();
        }
        private MiningModelColumn ModelColumnFromName(string colName, MiningModel parentModel)
        {
            MiningModelColumn result = null;

            if (colName == null || colName.Length == 0)
            {
                return(result);
            }
            int    num   = colName.IndexOf(".", StringComparison.OrdinalIgnoreCase);
            string text  = string.Empty;
            string text2 = string.Empty;

            if (num < 0)
            {
                text = colName;
                if (text.IndexOf("[", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    text = text.Substring(1, text.Length - 2);
                }
                result = parentModel.Columns[text];
            }
            else
            {
                text  = colName.Substring(0, num);
                text2 = colName.Substring(num + 1, colName.Length - num - 1);
                if (text.IndexOf("[", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    text = text.Substring(1, text.Length - 2);
                }
                MiningModelColumn miningModelColumn = parentModel.Columns[text];
                if (text2.IndexOf("[", StringComparison.OrdinalIgnoreCase) == 0)
                {
                    text2 = text2.Substring(1, text2.Length - 2);
                }
                result = miningModelColumn.Columns[text2];
            }
            return(result);
        }
Example #10
0
 internal MiningAttribute(MiningModel parentModel, string attributeDisplayName)
 {
     this.attributeID      = -1;
     this.parentModel      = parentModel;
     this.name             = attributeDisplayName;
     this.shortName        = "";
     this.valueColumn      = null;
     this.keyColumn        = null;
     this.featureSelection = MiningFeatureSelection.NotSelected;
     this.isInput          = false;
     this.isPredictable    = false;
     this.ParseAttributeName();
     if (this.valueColumn != null)
     {
         this.isInput       = this.valueColumn.IsInput;
         this.isPredictable = this.valueColumn.IsPredictable;
         return;
     }
     if (this.parentColumn != null)
     {
         this.isInput       = this.parentColumn.IsInput;
         this.isPredictable = this.parentColumn.IsPredictable;
     }
 }
 internal MiningModelColumnCollection(AdomdConnection connection, MiningModelColumn parentColumn)
 {
     this.miningModelColumnCollectionInternal = new MiningModelColumnCollectionInternal(connection, parentColumn);
 }
Example #12
0
 internal MiningValueCollection(MiningModelColumn column)
 {
     this.miningValueCollectionInternal = new MiningValueCollectionInternal(column);
 }