 			for (var i:int = 0; i < _cols.length; i++)
 			{
 				var column:IAttributeColumn = _cols[i];
-				var stats:IColumnStatistics = WeaveAPI.StatisticsCache.getColumnStatistics(column);
-				value = normArray ? normArray[i] : stats.getNorm(recordKey);
+				value = normArray ? normArray[i] : getNorm(column, recordKey);
 				if (isNaN(value))
 					continue;
 				

				for (i = 0; i < cols.length; i++)
				{
					var column:IAttributeColumn = cols[i];
					var stats:IColumnStatistics = WeaveAPI.StatisticsCache.getColumnStatistics(column);
					var value:Number = normArray ? normArray[i] : stats.getNorm(key);
					if (isNaN(value))
					{
						value = 0;

			getCallbackCollection(filteredKeySet).addGroupedCallback(this, handleColumnsChange, true);
			getCallbackCollection(this).addImmediateCallback(this, clearCoordCache);
			columns.addGroupedCallback(this, handleColumnsChange);
			absNorm.addGroupedCallback(this, handleColumnsChange);
			normMin.addGroupedCallback(this, handleColumnsChange);
			normMax.addGroupedCallback(this, handleColumnsChange);
		}
		private function handleColumnsListChange():void
		{
