 			for (keyType in columnsByKeyType)
 			{
 				var cols:Array = columnsByKeyType[keyType];
-				var joined:Array = ColumnUtils.joinColumns(cols, null, true);
+				var joined:Array = ColumnUtils.joinColumns(cols, null, true, inputKeyFilter.target);
 				var keys:Array = VectorUtils.pluck(joined.shift() as Array, 'localName');
 				var colMap:Object = {};
 				for (var i:int = 0; i <  joined.length; i++)

						var csvRoot:IWeaveTreeNode = outputCSV.getHierarchyRoot();
						return csvRoot.getChildren().map(function(csvNode:IColumnReference, ..._):IWeaveTreeNode {
							var meta:Object = csvNode.getColumnMetadata();
							meta[SCRIPT_OUTPUT_NAME] = meta[CSVDataSource.METADATA_COLUMN_NAME];
							return generateHierarchyNode(meta);
						});
					}

	import weave.api.data.IColumnReference;
	import weave.api.data.IDataSource;
	import weave.api.data.IDataSource_Service;
	import weave.api.data.IKeyFilter;
	import weave.api.data.IWeaveTreeNode;
	import weave.api.disposeObject;
	import weave.api.getCallbackCollection;
