|
| 1 | +-- ============================================================================ |
| 2 | +-- Data Transformer Examples |
| 3 | +-- ============================================================================ |
| 4 | +-- |
| 5 | +-- Demonstrates creating, describing, listing, and dropping data transformers. |
| 6 | +-- |
| 7 | +-- Prerequisites: |
| 8 | +-- - Mendix 11.9+ (Data Transformers require >= 11.9) |
| 9 | +-- |
| 10 | +-- ============================================================================ |
| 11 | + |
| 12 | +CREATE MODULE DtTest; |
| 13 | + |
| 14 | +-- ############################################################################ |
| 15 | +-- PART 1: SIMPLE SINGLE-LINE JSLT TRANSFORMER |
| 16 | +-- ############################################################################ |
| 17 | + |
| 18 | +-- Flatten a nested JSON object using a single-line JSLT expression. |
| 19 | +CREATE DATA TRANSFORMER DtTest.FlattenNested |
| 20 | +SOURCE JSON '{"wrapper": {"value": 42, "label": "hello"}}' |
| 21 | +{ |
| 22 | + JSLT '{"value": .wrapper.value, "label": .wrapper.label}'; |
| 23 | +}; |
| 24 | + |
| 25 | +-- ############################################################################ |
| 26 | +-- PART 2: MULTI-LINE JSLT TRANSFORMER WITH $$ QUOTING |
| 27 | +-- ############################################################################ |
| 28 | + |
| 29 | +-- Extract key fields from a weather API response using a multi-line JSLT step. |
| 30 | +CREATE DATA TRANSFORMER DtTest.WeatherTransform |
| 31 | +SOURCE JSON '{"latitude": 51.9, "longitude": 4.5, "timezone": "Europe/Amsterdam", "current": {"time": "2024-01-15T14:00", "temperature_2m": 12.8, "wind_speed_10m": 18.3, "weather_code": 3}}' |
| 32 | +{ |
| 33 | + JSLT $$ |
| 34 | +{ |
| 35 | + "lat": .latitude, |
| 36 | + "lon": .longitude, |
| 37 | + "timezone": .timezone, |
| 38 | + "temp": .current.temperature_2m, |
| 39 | + "wind_speed": .current.wind_speed_10m, |
| 40 | + "code": .current.weather_code |
| 41 | +} |
| 42 | + $$; |
| 43 | +}; |
| 44 | + |
| 45 | +-- ############################################################################ |
| 46 | +-- PART 3: LIST AND DESCRIBE |
| 47 | +-- ############################################################################ |
| 48 | + |
| 49 | +-- List all data transformers in the project |
| 50 | +LIST DATA TRANSFORMERS; |
| 51 | + |
| 52 | +-- List data transformers in a specific module |
| 53 | +LIST DATA TRANSFORMERS IN DtTest; |
| 54 | + |
| 55 | +-- Describe a transformer (outputs a re-executable CREATE statement) |
| 56 | +DESCRIBE DATA TRANSFORMER DtTest.WeatherTransform; |
| 57 | + |
| 58 | +-- ############################################################################ |
| 59 | +-- PART 4: DROP |
| 60 | +-- ############################################################################ |
| 61 | + |
| 62 | +DROP DATA TRANSFORMER DtTest.FlattenNested; |
| 63 | +DROP DATA TRANSFORMER DtTest.WeatherTransform; |
0 commit comments