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); }
internal MiningAttribute(MiningModel parentModel) { this.attributeID = -1; this.parentModel = parentModel; this.name = ""; this.shortName = ""; this.valueColumn = null; this.keyColumn = null; this.featureSelection = MiningFeatureSelection.NotSelected; }
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); }
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); }
internal MiningValueCollection(MiningModelColumn column) { this.miningValueCollectionInternal = new MiningValueCollectionInternal(column); }