The Advanced Map component allows you to graphically map from an input set of columns to an output set of columns in a data-flow by simply dragging and dropping, using the BlueSSIS Graphical Map editor. Double-clicking the component brings up this editor :
This tool allows you to drag links from the source (left) side to the destination (right side). You can link to and from content or variables. These can be direct links, or via functoids - units of reusable logic. Functoids provide logic including comparisons, counting, mathematical operations, lookups, accumulations, xpath querying, string functions and date / time arithmetic. They can also provide more sophisticated functionality, including database lookups, script functions, enumeration, duplicate elimination, grouping and execution control. To use a functoid, simply drag it from the functoid area on the right onto the main page (between the source and destination areas), and then connect its' inputs and outputs by drag and drop. You can test your map using the functions in the Tools menu.
The graphical mapping tool is part of our sister application
BlueIntegrator, and
full help can be found here. Essentially though at execution time the nodes in the source document are executed in order, passing through functoids as appropriate to create output values.
You can use the
Edit Destination Schema to configure the output columns.
There are two modes for this component. When
Batch Mode is false, rows are run through the map one at a time, and every input row produces exactly one output row. All input values are copied through unchanged unless specifically set by the map. When
Batch Mode is true, the map is executed just one time over all rows, and each input row can produce any number of output rows. In this mode, input values are not autoamtical;ly copied to corresponding output values unless you draw an explicit link. Essentially at execution time the values in the source rows are executed in order, passing through functoids as appropriate. As values are pushed out from the source they are active, and active values arriving at the destination will always trigger the creation of a value (and a new row if that value in the current row is already populated). You can also manually trigger the creation of a new row by firing an active value at the Row element. Variables, functoids with no inputs, or functoids with inactive inputs produce passive values, which are used but do not in themselves trigger the creation of a data node. The Passive Values functoid can be used to explicitly make an active value passive, and thus prevent superfluous outputs.
Batch mode is set via the Visual Studio / BIDS Properties window. There is also a property called
Cumulatives Final, which deterimes whether cumulative functoids should return the current cumulative value or the final value as it would be at the end of the data-flow execution.
All BlueSSIS data-flow components also support properties
Fail on truncation and
Unicode mode, allowing you to define applicable truncation and Unicode settings. These properties can be found in the Visual Studio/BIDS Properties window.