Advanced Data Operations (Preview)

A suite of advanced operations designed to assist in the transformation of bulk datasets.

This connector is available in the following products and regions:

Service Class Regions
Logic Apps Standard All Logic Apps regions except the following:
     -   Azure Government regions
     -   Azure China regions
     -   US Department of Defense (DoD)
Power Automate Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Power Apps Premium All Power Apps regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Contact
Name State Solutions Support
URL https://www.statesolutions.com.au/contact-us
Email support@statesolutions.com.au
Connector Metadata
Publisher State Solutions
Website https://www.statesolutions.com.au
Privacy Policy https://www.statesolutions.com.au/privacy-policy
Categories Data

The operations offered as a part of this service provides data & integration engineers with the ability to transform bulk datasets from one structure into a another.

Along with the core operations, the framework has custom functions built in which extend the functionality even further again. These added custom functions provide field specific level extensibility that can be applied against the dataset being transformed.

The operations within the framework helps to reduce overhead, such as looping, overuse of inline expressions and other basic data operations, within the developed flows. This results in a more readable and more supportable end product for your organisation.

Such operations, including but not limited to, are aggregation, joining (cartesian, left and inner joins), distinct selections, data format conversion (e.g. CSV, text, JSON and Parquet), the flattening of highly nested complex objects, generic transformation, regex operations and an expert operation where a fully fledged SQL statement can be executed over the data.

All of this made possible without a single piece of infrastructure required to be invoked from your own organisations perspective.

Prerequisites

You'll need to sign up for a subscription.

One can be obtained by signing up to a paid plan or by activating a trial subscription. Details can be found on our website under the pricing page ... http://www.statesolutions.com.au/pricing/

Tha API key you are supplied with will need to be added to the header of each call executed over our service.

How to get credentials

As per the previous section, navigate to our pricing page and sign up for the plan that you feel suits your organisation best.

If you sign up for a paid subscription, the process will direct you to enter details relating to yourself and your organisation. You will then be asked to provide credit card information so the monthly billing cycle can charge you accordingly.

If you sign up for a trial subscription, you will be asked for nothing more than your name and email address. Your trial subscription limits you to 100 calls with no time limit on when those 100 calls need to be used up.

Your details (email address and product purchased) are used when invoking services on our side to track any and all usage that is required for quota limiting (please note that not all plans have a quota limit).

Get started with your connector

Provide users with a step-by-step process for getting started with your connector. This is where you should highlight common use cases, such as your expected popular triggers and actions, and how they can help in automation scenarios. Include images where possible.

After you've received your subscription and API key, you'll be ready to execute your first call.

Overview - http://www.statesolutions.com.au/overview/

The overview section of of our website explains the basics and most importantly, details the main endpoint that's used to make each API call.

Common Parameters - http://www.statesolutions.com.au/common-parameters/

Each API has a set of common parameters that can be used to define specific schema information, filter and sort response data and set advanced options. There is no doubt that you will need at least one of these options when working with our framework so it's important to understand how they work together.

Custom Function - http://www.statesolutions.com.au/custom-functions/

Not all operations support the use of custom functions but for those that do, you'll want to be across that which is possible given it will give you an immense amount of flexibility when transforming your data.

From there, you'll need to familiarise yourself with each of the different operations that form the basis of the framework.

Documentation from each API can be found on our website.

  • Aggregate - Aggregate one or more properties by a grouped set of fields within a JSON array dataset.
  • Cartesian Join - Perform a Cartesian join over two or more datasets.
  • Concatenate - Concatenate a field from an array of objects into a single string output.
  • Concatenate (Simple) - Concatenate an array of values into a delimited string.
  • CSV to JSON - Transform a comma separated table of data into an array of JSON objects.
  • Distinct - Select a set of distinct property values from an array of objects.
  • Distinct (Simple) - Provide a distinct set of values from an array.
  • Expert - Execute a SQL statement over one or more supplied datasets.
  • Flatten Object Array - Flatten an array of complex, multi-level objects into an array of single level JSON objects.
  • Get Data Schema - Get the schema (i.e. properties and their associated types) from an array of objects.
  • Join - Join exactly two datasets using a left or inner join technique.
  • JSON to Text - Transform a JSON array of objects into a tab delimited text format.
  • JSON to CSV - Transform a JSON array of objects into a comma separated table format.
  • Parquet to JSON - Transform a base64 encoded parquet dataset into an array of JSON objects.
  • Regex Matches - Produce a set of matches for a string using a regular expression pattern.
  • Split - Split each item of an array into one or more new items by a defined set of criteria.
  • Text to JSON - Transform a tab delimited textual dataset into an array of JSON objects.
  • Transform - Transform a set of properties in a dataset using any of the available custom transformation functions provided by the framework.

Known issues and limitations

The service is hosted on Azure cloud infrastructure and like any computing based service is limited when it comes to CPU and memory usage. Therefore, the primary limitation our connector faces is those which fall in line with system resources.

Testing has revealed that payloads should not exceed around 30mb's (+/-) in size for each call being made. This limitation may be resolved in the future but as of right now, the limitation exists and needs to be dealt with from the calling side of the equation.

The way to work around this is to split up your payloads into logical chunks and process those one by one. An example of logical chunks can be taken from financial data, it may be best to split the payloads up by fiscal period, fiscal year or some kind of logical organisational attribute.

Common errors and remedies

Error 401 : The quota limit for this subscription has been exceeded OR your subscription is not permitted to use this operation.

You have exceeded your quota for the billing period. You'll need to upgrade your subscription or wait until the next billing period. Alternatively, if your quota has not been exceeded, the operation you are attempting to call is not supported by the subscription level you've paid for.

FAQ

You can find an FAQ page on our website ... http://www.statesolutions.com.au/faq

Creating a connection

The connector supports the following authentication types:

Default Parameters for creating connection. All regions Not shareable

Default

Applicable: All regions

Parameters for creating connection.

This is not shareable connection. If the power app is shared with another user, another user will be prompted to create new connection explicitly.

Name Type Description Required
Advanced Data Operations API Key securestring API Key True

Throttling Limits

Name Calls Renewal Period
API calls per connection10060 seconds

Actions

Aggregate

Aggregate one or more properties by a grouped set of fields within a JSON array dataset.

Cartesian Join

Perform a Cartesian join over two or more datasets.

Concatenate

Concatenate a field from an array of objects into a single string output.

Concatenate (Simple)

Concatenate an array of values into a delimited string.

CSV to Json

Transform a comma separated table of data into an array of JSON objects.

Distinct

Select a set of distinct property values from an array of objects.

Distinct (Simple)

Provide a distinct set of values from an array.

Expert

Execute a SQL statement over one or more supplied datasets.

Flatten Object Array

Flatten an array of complex, multi-level objects into an array of single JSON objects.

Get Data Schema

Get the schema (i.e. properties and their associated types) from an array of objects.

Join

Join exactly two datasets using a left or inner join technique.

Json to CSV

Transform a JSON array of objects into a comma separated table format.

Json to Table

Transform a JSON structure into a tabular format.

Json to Text

Transform a JSON array of objects into a tab delimited text format.

Parquet to Json

Transform a base64 encoded parquet dataset into an array of JSON objects.

Regex Matches

Produce a set of matches for a string using a regular expression pattern.

Split

Split all objects contained within an array by a defined criteria.

Text to Json

Transform a tab delimited textual dataset into an array of JSON objects.

Transform

Transform a set of properties in a dataset using any of the available custom transformation functions.

Aggregate

Aggregate one or more properties by a grouped set of fields within a JSON array dataset.

Parameters

Name Key Required Type Description
Operation
aggregationType True string

The aggregation type.

Aggregate By
aggregateBy string

The fields to aggregate by (i.e. the non-numeric properties).

Aggregate On
aggregateOn string

The fields to aggregate on (i.e. the numeric properties).

Filter
filter string

String based WHERE clause used to filter the returned result set. Relies on Balanced Output being set to TRUE.

Culture Name
cultureName string

Allows the calling application to change the culture so date parsing, etc. produces the correct result.

Boolean Properties
Boolean Properties string

Returns

Name Path Type Description
array of object
items
object

Cartesian Join

Perform a Cartesian join over two or more datasets.

Parameters

Name Key Required Type Description
Filter
filter string

String based WHERE clause used to filter the returned result set. Relies on Balanced Output being set to TRUE.

Culture Name
cultureName string

Allows the calling application to change the culture so date parsing, etc. produces the correct result.

Boolean Properties
Boolean Properties string

Returns

Name Path Type Description
array of object
items
object

Concatenate

Concatenate a field from an array of objects into a single string output.

Parameters

Name Key Required Type Description
Field
field True string

Field from the source data set to concatenate.

Separator
separator string

The string used to delimit the resulting concatenated string.

Ignore Empty
ignoreEmpty True boolean

Ignore blank/null strings when concatenating.

Filter
filter string

String based WHERE clause used to filter the returned result set. Relies on Balanced Output being set to TRUE.

Culture Name
cultureName string

Allows the calling application to change the culture so date parsing, etc. produces the correct result.

Boolean Properties
Boolean Properties string

Returns

response
string

Concatenate (Simple)

Concatenate an array of values into a delimited string.

Parameters

Name Key Required Type Description
Separator
separator string

The string used to delimit the resulting concatenated string.

Ignore Empty
ignoreEmpty boolean

Ignore blank/null strings when concatenating.

Filter
filter string

String based WHERE clause used to filter the returned result set. Relies on Balanced Output being set to TRUE.

Sort Order
sortOrder string

Sorting direction (i.e. ASC or DESC).

Culture Name
cultureName string

Allows the calling application to change the culture so date parsing, etc. produces the correct result.

Boolean Properties
Boolean Properties string
Data
data string

Array of strings or numeric values.

Returns

response
string

CSV to Json

Transform a comma separated table of data into an array of JSON objects.

Parameters

Name Key Required Type Description
Header Row
headerRow boolean

Contains header row

Row Separator
rowSeparator string

The character(s) separating each row, default = \n

Escape Character
escapeCharacter string

The escape character to use when splitting each field, default is double quotes.

Filter
filter string

String based WHERE clause used to filter the returned result set. Relies on Balanced Output being set to TRUE.

Culture Name
cultureName string

Allows the calling application to change the culture so date parsing, etc. produces the correct result.

Boolean Properties
Boolean Properties string
Data
data True string

Delimited string table

Returns

Name Path Type Description
array of object
items
object

Distinct

Select a set of distinct property values from an array of objects.

Parameters

Name Key Required Type Description
Fields
Fields string
Filter
filter string

String based WHERE clause used to filter the returned result set. Relies on Balanced Output being set to TRUE.

Culture Name
cultureName string

Allows the calling application to change the culture so date parsing, etc. produces the correct result.

Boolean Properties
Boolean Properties string

Distinct (Simple)

Provide a distinct set of values from an array.

Parameters

Name Key Required Type Description
Field
field True string

Field to perform the distinct on.

Filter
filter string

String based WHERE clause used to filter the returned result set. Relies on Balanced Output being set to TRUE.

Sort Order
sortOrder string

Sorting direction (i.e. ASC or DESC).

Culture Name
cultureName string

Allows the calling application to change the culture so date parsing, etc. produces the correct result.

Boolean Properties
Boolean Properties string

Expert

Execute a SQL statement over one or more supplied datasets.

Parameters

Name Key Required Type Description
Query String
query True string

Fully functioning SELECT statement that refers to and processes the incoming data set.

Culture Name
cultureName string

Allows the calling application to change the culture so date parsing, etc. produces the correct result.

Boolean Properties
Boolean Properties string

Returns

Name Path Type Description
array of object
items
object

Flatten Object Array

Flatten an array of complex, multi-level objects into an array of single JSON objects.

Parameters

Name Key Required Type Description
Delimiter
delimiter True string

The string used to delimit each property from the different levels in the object hierarchy.

Balanced Output
balancedOutput True boolean

If TRUE, each item in the result set will have the same set of properties, therefore, making it balanced. Filter and Sort Order only work if this is set to TRUE.

Filter
filter string

String based WHERE clause used to filter the returned result set. Relies on Balanced Output being set to TRUE.

Culture Name
cultureName string

Allows the calling application to change the culture so date parsing, etc. produces the correct result.

Boolean Properties
Boolean Properties string

Returns

Name Path Type Description
array of object
items
object

Get Data Schema

Get the schema (i.e. properties and their associated types) from an array of objects.

Parameters

Name Key Required Type Description
Filter
filter string

String based WHERE clause used to filter the returned result set. Relies on Balanced Output being set to TRUE.

Culture Name
cultureName string

Allows the calling application to change the culture so date parsing, etc. produces the correct result.

Boolean Properties
Boolean Properties string

Returns

Name Path Type Description
array of object
items
object

Join

Join exactly two datasets using a left or inner join technique.

Parameters

Name Key Required Type Description
Join Type
joinType True string

The join operation to perform.

Join Fields
Join Fields string
Fields
Fields string
Force Fully Qualified Field Names
forceFullyQualifiedFieldNames boolean

Force all field names in the resulting dataset to be prefixed with the originating dataset name.

Filter
filter string

String based WHERE clause used to filter the returned result set. Relies on Balanced Output being set to TRUE.

Culture Name
cultureName string

Allows the calling application to change the culture so date parsing, etc. produces the correct result.

Boolean Properties
Boolean Properties string

Returns

Name Path Type Description
array of object
items
object

Json to CSV

Transform a JSON array of objects into a comma separated table format.

Parameters

Name Key Required Type Description
Header Row
headerRow boolean

Contains header row

Row Separator
rowSeparator string

The character(s) separating each row, default = \n

Escape Character
escapeCharacter string

The escape character for values that contain the field separator value.

Filter
filter string

String based WHERE clause used to filter the returned result set. Relies on Balanced Output being set to TRUE.

Culture Name
cultureName string

Allows the calling application to change the culture so date parsing, etc. produces the correct result.

Boolean Properties
Boolean Properties string

Returns

response
string

Json to Table

Transform a JSON structure into a tabular format.

Parameters

Name Key Required Type Description
Path
path string

JToken path used for initial selection (default = $)

Balanced Output
balancedOutput boolean

If TRUE, each item in the result set will have the same set of properties, therefore, making it balanced.

Filter
filter string

String based WHERE clause used to filter the returned result set. Relies on Balanced Output being set to TRUE.

Culture Name
cultureName string

Allows the calling application to change the culture so date parsing, etc. produces the correct result.

Boolean Properties
Boolean Properties string

Returns

Name Path Type Description
array of object
items
object

Json to Text

Transform a JSON array of objects into a tab delimited text format.

Parameters

Name Key Required Type Description
Header Row
headerRow boolean

Contains header row

Row Separator
rowSeparator string

The character(s) separating each row, default = \n

Filter
filter string

String based WHERE clause used to filter the returned result set. Relies on Balanced Output being set to TRUE.

Culture Name
cultureName string

Allows the calling application to change the culture so date parsing, etc. produces the correct result.

Boolean Properties
Boolean Properties string

Returns

response
string

Parquet to Json

Transform a base64 encoded parquet dataset into an array of JSON objects.

Parameters

Name Key Required Type Description
Filter
filter string

String based WHERE clause used to filter the returned result set. Relies on Balanced Output being set to TRUE.

Culture Name
cultureName string

Allows the calling application to change the culture so date parsing, etc. produces the correct result.

Boolean Properties
Boolean Properties string
Data
data True string

Base64 encoded string containing contents of a parquet data file.

Returns

Name Path Type Description
array of object
items
object

Regex Matches

Produce a set of matches for a string using a regular expression pattern.

Parameters

Name Key Required Type Description
Pattern
pattern True string

Regular expression pattern.

Filter
filter string

String based WHERE clause used to filter the returned result set. Relies on Balanced Output being set to TRUE.

Culture Name
cultureName string

Allows the calling application to change the culture so date parsing, etc. produces the correct result.

Boolean Properties
Boolean Properties string
Data
data True string

Text to perform the regex pattern over

Returns

Name Path Type Description
array of string

Split

Split all objects contained within an array by a defined criteria.

Parameters

Name Key Required Type Description
Filter
filter string

String based WHERE clause used to filter the returned result set. Relies on Balanced Output being set to TRUE.

Culture Name
cultureName string

Allows the calling application to change the culture so date parsing, etc. produces the correct result.

Boolean Properties
Boolean Properties string

Returns

Name Path Type Description
array of object
items
object

Text to Json

Transform a tab delimited textual dataset into an array of JSON objects.

Parameters

Name Key Required Type Description
Header Row
headerRow boolean

Contains header row

Row Separator
rowSeparator string

The character(s) separating each row, default = \n

Filter
filter string

String based WHERE clause used to filter the returned result set. Relies on Balanced Output being set to TRUE.

Culture Name
cultureName string

Allows the calling application to change the culture so date parsing, etc. produces the correct result.

Boolean Properties
Boolean Properties string
Data
data True string

Delimited string table

Returns

Name Path Type Description
array of object
items
object

Transform

Transform a set of properties in a dataset using any of the available custom transformation functions.

Parameters

Name Key Required Type Description
Preserve All Properties
preserveAllProperties boolean

If TRUE, all properties not specifically called out in the transformations property will be preserved in the resulting dataset.

Filter
filter string

String based WHERE clause used to filter the returned result set. Relies on Balanced Output being set to TRUE.

Culture Name
cultureName string

Allows the calling application to change the culture so date parsing, etc. produces the correct result.

Boolean Properties
Boolean Properties string

Returns

Name Path Type Description
array of object
items
object

Definitions

string

This is the basic data type 'string'.