Create a new CompoundAggregation.
This endpoint allows you to create a new CompoundAggregation for a specific Organization. The request body must include all the necessary details such as the Calculation formula.
m3ter supports machine to machine authentication using the clientCredentials OAuth2 flow.
The authorizationCode flow controls access for human users via the m3ter Console application.
The unique identifier (UUID) for your Organization. The Organization represents your company as a direct customer of our service.
Descriptive name for the Aggregation.
1 - 200Specifies how you want to deal with non-integer, fractional number Aggregation values.
NOTES:
quantityPerUnit. Rounds the number of units after quantityPerUnit is applied. If you set quantityPerUnit to a value other than one, you would typically set Rounding to UP. For example, suppose you charge by kilobytes per second (KiBy/s), set quantityPerUnit = 500, and set charge rate at $0.25 per unit used. If your customer used 48,900 KiBy/s in a billing period, the charge would be 48,900 / 500 = 97.8 rounded up to 98 * 0.25 = $2.45.Enum: ???UP??? ???DOWN??? ???NEAREST??? ???NONE???
UP, DOWN, NEAREST, NONE Defines how much of a quantity equates to 1 unit. Used when setting the price per unit for billing purposes - if charging for kilobytes per second (KiBy/s) at rate of $0.25 per 500 KiBy/s, then set quantityPerUnit to 500 and price Plan at $0.25 per unit.
Note: If quantityPerUnit is set to a value other than one, rounding is typically set to "UP".
x > 0User defined label for units shown for Bill line items, indicating to your customers what they are being charged for.
1 - 50String that represents the formula for the calculation. This formula determines how the CompoundAggregation value is calculated. The calculation can reference simple Aggregations or Custom Fields. This field is required when creating or updating a CompoundAggregation.
NOTE: If a simple Aggregation referenced by a Compound Aggregation has a Quantity per unit defined or a Rounding defined, these will not be factored into the value used by the calculation. For example, if the simple Aggregation referenced has a base value of 100 and has Quantity per unit set at 10, the Compound Aggregation calculation will use the base value of 100 not 10.
1 - 5000Code of the new Aggregation. A unique short code to identify the Aggregation.
80"example_code"
Optional Product ID this Aggregation should be attributed to for accounting purposes.
36Unique identifier (UUID) of the Product the CompoundAggregation belongs to.
Note: Omit this parameter if you want to create a Global CompoundAggregation.
36Boolean True / False flag:
Note: If any of the simple Aggregations you reference in a Compound Aggregation calculation might have null values, you must set their Default Value to 0. This ensures that any null values passed into the Compound Aggregation are passed in correctly with value = 0.
Returns the created CompoundAggregation
The UUID of the entity.
The version number:
User defined fields enabling you to attach custom data. The value for a custom field can be either a string or a number.
If customFields can also be defined for this entity at the Organizational level,customField values defined at individual level override values of customFields with the same name defined at Organization level.
See Working with Custom Fields in the m3ter documentation for more information.
Descriptive name for the Aggregation.
Specifies how you want to deal with non-integer, fractional number Aggregation values.
NOTES:
quantityPerUnit. Rounds the number of units after quantityPerUnit is applied. If you set quantityPerUnit to a value other than one, you would typically set Rounding to UP. For example, suppose you charge by kilobytes per second (KiBy/s), set quantityPerUnit = 500, and set charge rate at $0.25 per unit used. If your customer used 48,900 KiBy/s in a billing period, the charge would be 48,900 / 500 = 97.8 rounded up to 98 * 0.25 = $2.45.Enum: ???UP??? ???DOWN??? ???NEAREST??? ???NONE???
UP, DOWN, NEAREST, NONE Defines how much of a quantity equates to 1 unit. Used when setting the price per unit for billing purposes - if charging for kilobytes per second (KiBy/s) at rate of $0.25 per 500 KiBy/s, then set quantityPerUnit to 500 and price Plan at $0.25 per unit.
If quantityPerUnit is set to a value other than one, rounding is typically set to UP.
User defined or following the Unified Code for Units of Measure (UCUM).
Used as the label for billing, indicating to your customers what they are being charged for.
Code of the Aggregation. A unique short code to identify the Aggregation.
(Optional). Used when creating a segmented Aggregation, which segments the usage data collected by a single Meter. Works together with segmentedFields.
Contains the values that are to be used as the segments, read from the fields in the meter pointed at by segmentedFields.
Optional Product ID this Aggregation should be attributed to for accounting purposes.
The UUID of the Meter used as the source of usage data for the Aggregation.
Each Aggregation is a child of a Meter, so the Meter must be selected.
Code of the target dataField or derivedField on the Meter used as the basis for the Aggregation.
Specifies the computation method applied to usage data collected in targetField. Aggregation unit value depends on the Category configured for the selected targetField.
Enum:
SUM. Adds the values. Can be applied to a Measure, Income, or Cost targetField.
MIN. Uses the minimum value. Can be applied to a Measure, Income, or Cost targetField.
MAX. Uses the maximum value. Can be applied to a Measure, Income, or Cost targetField.
COUNT. Counts the number of values. Can be applied to a Measure, Income, or Cost targetField.
LATEST. Uses the most recent value. Can be applied to a Measure, Income, or Cost targetField. Note: Based on the timestamp (ts) value of usage data measurement submissions. If using this method, please ensure distinct ts values are used for usage data measurment submissions.
MEAN. Uses the arithmetic mean of the values. Can be applied to a Measure, Income, or Cost targetField.
UNIQUE. Uses unique values and returns a count of the number of unique values. Can be applied to a Metadata targetField.
CUSTOM_SQL. Uses an SQL query expression. The customSQL parameter is used for the SQL query.
SUM, MIN, MAX, COUNT, LATEST, MEAN, UNIQUE, CUSTOM_SQL (Optional). Used when creating a segmented Aggregation, which segments the usage data collected by a single Meter. Works together with segments.
The Codes of the fields in the target Meter to use for segmentation purposes.
String dataFields on the target Meter can be segmented. Any string derivedFields on the target Meter, such as one that concatenates two string dataFields, can also be segmented.
Aggregation value used when no usage data is available to be aggregated. (Optional).
Note: Set to 0, if you expect to reference the Aggregation in a Compound Aggregation. This ensures that any null values are passed in correctly to the Compound Aggregation calculation with a value = 0.
The SQL query expression to be used for a Custom SQL Aggregation.
The DateTime when the aggregation was created (in ISO 8601 format).
The DateTime when the aggregation was last modified (in ISO 8601 format).
The id of the user who created this aggregation.
The id of the user who last modified this aggregation.