Table of Contents

Search

  1. Preface
  2. Introduction to Transformations
  3. Transformation Ports
  4. Transformation Caches
  5. Address Validator Transformation
  6. Aggregator Transformation
  7. Association Transformation
  8. Bad Record Exception Transformation
  9. Case Converter Transformation
  10. Classifier Transformation
  11. Comparison Transformation
  12. Consolidation Transformation
  13. Data Masking Transformation
  14. Data Processor Transformation
  15. Decision Transformation
  16. Duplicate Record Exception Transformation
  17. Expression Transformation
  18. Filter Transformation
  19. Hierarchical to Relational Transformation
  20. Java Transformation
  21. Java Transformation API Reference
  22. Java Expressions
  23. Joiner Transformation
  24. Key Generator Transformation
  25. Labeler Transformation
  26. Lookup Transformation
  27. Lookup Caches
  28. Dynamic Lookup Cache
  29. Macro Transformation
  30. Match Transformation
  31. Match Transformations in Field Analysis
  32. Match Transformations in Identity Analysis
  33. Normalizer Transformation
  34. Merge Transformation
  35. Parser Transformation
  36. Python Transformation
  37. Rank Transformation
  38. Read Transformation
  39. Relational to Hierarchical Transformation
  40. REST Web Service Consumer Transformation
  41. Router Transformation
  42. Sequence Generator Transformation
  43. Sorter Transformation
  44. SQL Transformation
  45. Standardizer Transformation
  46. Union Transformation
  47. Update Strategy Transformation
  48. Web Service Consumer Transformation
  49. Parsing Web Service SOAP Messages
  50. Generating Web Service SOAP Messages
  51. Weighted Average Transformation
  52. Window Transformation
  53. Write Transformation
  54. Appendix A: Transformation Delimiters

Developer Transformation Guide

Developer Transformation Guide

Macro Transformation Example

Macro Transformation Example

You are a data steward for a health care insurer, and you need to encrypt personal information about your insurance policy holders. The schema of the data source might vary, so you need to use a dynamic mapping.
You need a dynamic mapping that reads data from a source, encrypts all string data using a Data Masking transformation, and writes the modified data to a target. Since the Data Masking transformation does not support dynamic functionality, you need to use a Macro transformation to enable dynamic functionality for a mapplet that contains the Data Masking transformation. The Macro transformation allows mapplet transformation logic to act as dynamic mapping logic by accepting input with any number of string ports and passing each string input port through a copy of the data masking mapplet.
To use the Macro transformation, you perform the following steps:
  1. Configure the mapplet.
  2. Configure the dynamic mapping with the Macro transformation.
  3. Run the mapping.

Configure the mapplet

Before you configure the Macro transformation, you create a mapplet that performs the data encryption. The mapplet includes an Input transformation, a Data Masking transformation, and an Output transformation. The Input transformation has one port of type string that connects to the input group of the Data Masking transformation. In the Data Masking transformation, you set a masking type for the port and then connect the output port to the Output transformation.
The following image shows the mapplet:
Mapplet in the Developer tool mapping editor. The mapplet contains an input transformation, data masking transformation, and output transformation.

Configure the mapping

After you configure the mapplet, you configure the dynamic mapping. You create a mapping that reads from a parameterized source and configure the mapping to get the column names at run time. Then you add a Macro transformation to the dynamic mapping and select the data masking mapplet as the macro instruction.
You connect the Read transformation port group to the input port
StringInput
and to the input passthrough port
InputPassThrough
. You configure the input rule for
StringInput
to include only string type ports.
Finally, you add a Write transformation to the mapping and configure it to define ports by the mapping flow. You connect the Macro transformation output group to the Write transformation dynamic input port.
The following image shows the dynamic mapping:
Dynamic mapping in  the Developer tool mapping editor. The mapping has a Read transformation, Macro transformation, and Write transformation.

Run the mapping

When you run the mapping, the mapping determines the ports from the data source. The Macro transformation creates a copy of the mapplet for each string input port and passes each string port through a copy of the mapplet. The Data Masking transformation encrypts the string data, and passes the output back to the mapping through the Macro transformation. The mapping writes the encrypted string data and the unchanged decimal data to the target.

0 COMMENTS

We’d like to hear from you!