emite IPaaS Transformations
emite IPaaS can perform a number of different types of data transformations during ingestion for instant, analytics-ready output, keeping latency low for time-sensitive analytics.
Transformations can be applied when configuring an Action, in the following areas:
Command > Params
Mappings > Update Mapping
Please refer to the following table for a definition of each transformation, along with some examples:
Transformation | Description | Example Input | Example Output | Typical Use Case |
---|---|---|---|---|
ToLowercase | Converts the entire string to lowercase letters. | "Hello World!" | "hello world!" | Standardizing text for case-insensitive comparisons. Ensuring consistent formatting before sending text to downstream systems. |
ToUppercase | Converts the entire string to uppercase letters. | "Hello World!" | "HELLO WORLD!" | Enforcing standardized codes or acronyms in uppercase. Displaying text in a uniform way in UI elements. |
ToPascalCase | Converts the input string into PascalCase, capitalizing the first letter of each word and removing spaces and special separators. | "hello world example" | "HelloWorldExample" | Generating class, method, or other code identifiers in languages like C#. Creating user-friendly, spaced-out text for display or integration. |
ToSnakeCase | Converts the input string into snake_case, making it lowercase and separating words with underscores. | "Hello World Example" | "hello_world_example" | Adhering to naming conventions for databases or Python code. Transforming strings for systems that favor underscores. |
ToCamelCase | Converts the input string to camelCase, where the first letter of the entire string is lowercase, and each subsequent word is capitalized. | "hello world example" | "helloWorldExample" | Creating variable or function names that follow JavaScript or similar language conventions. Any situation where camelCase is required for consistency. |
Trim | Removes any leading and trailing whitespace characters from the string. | " Hello World! " | "Hello World!" | Cleaning up accidental spaces in user input. Standardizing data before comparison or storage. |
Split | Splits a string into an array of substrings based on a specified delimiter. | String: "apple,banana,cherry" <br> Delimiter: "," | ["apple", "banana", "cherry"] | Breaking a CSV-style string into individual values. Parsing user inputs or system logs where data is separated by commas, semicolons, or other characters. |
IsoDateTime | Formats a given date/time into the standard ISO 8601 format (YYYY-MM-DDTHH:MM:SSZ). | Jan 5, 2025 8:30 PM | "2025-01-05T20:30:00Z" (assuming UTC) | Storing or transmitting dates in an internationally recognized format. Standardizing date/time for APIs or data interchange. |
IsoDateTimeMs | Similar to IsoDateTime but includes millisecond precision. | "2025-01-06T00:00:00Z" | "2025-01-06T00:00:00.000Z" | Logging or debugging where millisecond precision is important. Synchronizing events in distributed systems with higher accuracy. |
AsTicks | Converts a date/time input into “ticks” or a timestamp representation. This might refer to .NET ticks (number of 100-nanosecond intervals since January 1, 0001) or another platform-specific definition. | "2025-01-05T20:30:00Z" | 637947894000000000 (.NET ticks example) | Interfacing with systems or libraries that expect ticks or epoch-based timestamps. Comparing or sorting date/time values numerically. |
AsMilliseconds | Converts a given time or duration into a total number of milliseconds. | Timespan: 1.00:00:00 (1 day in d.hh:mm:ss) DateTime: "2025-01-06T00:00:00Z" | 86400000 (timespan) 1735852800000 (epoch-based) | Calculating durations in a single millisecond count for easier storage. Generating millisecond-based timestamps for logs or frameworks that require them. |
AsSeconds | Converts a given time or duration into a total number of seconds. | Timespan: 00:05:00 (5 minutes) DateTime: "2025-01-06T00:00:00Z" | 300 (timespan) 1735852800 (Unix epoch time) | Storing durations or timestamps in seconds (commonly used in many APIs). Handling “Unix seconds” for integration with a wide range of systems. |
AsMinutes | Converts a given time or duration into a total number of minutes. | Timespan: 01:00:00 (1 hour) DateTime: "2025-01-06T00:00:00Z" | 60 (timespan) 28930880 (minutes since Unix epoch) | Calculating total minutes for scheduling or billing increments. Summarizing durations where minute-level granularity is sufficient. |
AsHours | Converts a given time or duration into a total number of hours. | Timespan: 2.12:30:00 (2 days + 12 hours + 30 minutes) DateTime: "2025-01-06T12:00:00Z" | 60.5 (60.5 hours) 482181 (approximate hours since Unix epoch) | Summarizing longer durations in hours for timesheets or analytics. Aggregating logs or event times where hour-level detail is most relevant. |
AsDays | Converts a given time or duration into a total number of days. | Timespan: 3.00:00:00 (3 days) DateTime: "2025-01-06T00:00:00Z" | 3 (timespan) 20146 (days since Unix epoch) | Reporting or analysis on day-level durations or differences. Long-term data retention or summarization. |
AsUnixTime | Converts a given date/time to the classic Unix timestamp in whole seconds since January 1, 1970 (UTC). | "2025-01-06T00:00:00Z" | 1735852800 | Integrating with APIs or databases that expect Unix time in seconds. Storing basic timestamps in a widely recognized format. |
AsUnixTimeMilliseconds | Converts a given date/time to a Unix timestamp in milliseconds since January 1, 1970 (UTC). | "2025-01-06T00:00:00Z" | 1735852800000 | Modern systems and libraries that require millisecond-precision timestamps. Logging frameworks or databases (e.g., NoSQL) where ms-level detail is needed. |
Weekday | Extracts the day of the week from a given date/time. Depending on configuration, this may return a textual day (e.g., “Monday”) or a numeric representation (e.g., 1 for Monday). | "2025-01-06T00:00:00Z" | "Monday" (text) 1 (numeric) | Triggering different logic based on the weekday (e.g., weekend vs. weekday). Labeling reports or logs with the day of the week. |
TimezoneOffset | Determines the offset from UTC for a given date/time in a specific time zone. This might return a value in hours or as a signed string (e.g., +02:00). | Base Time: "2025-01-06T00:00:00Z" Target Timezone: "America/New_York" | -05:00 | Converting timestamps to local time or adjusting for time zone differences. Scheduling, event planning, or logging in different regional contexts. |