 				_maxNumber = NaN;
 			}
 			_metadata.attribute(ColumnMetadata.DATA_TYPE).setChildren(dataType);
-			_dataType = dataType == DataTypes.STRING ? String : Number;
+			_dataType = dataType == DataTypes.NUMBER ? Number : String;
 			
 			// save a mapping from keys to data
 			for (index = 0; index < keysA.length; index++)

					if (secondaryKeyFilter.value == null)
						return value + TYPE_SUFFIX
					break;
				case ColumnMetadata.DATA_TYPE:
					return _dataType == String ? DataTypes.STRING : DataTypes.NUMBER;
			}
			
			return value;

			_keyToNumericDataMapping = new Dictionary();
			
			//if it's string data - create list of unique strings
			var dataType:String = getMetadata(ColumnMetadata.DATA_TYPE);
			if (data[0] is String || (dataType && dataType != DataTypes.NUMBER))
			{
				if (!dataType)
