Forum Discussion

bcole's avatar
bcole
New Contributor
3 years ago

Evaluating an array value that's nested in a Group By Field and Routing the Group By Level based on Array value

I have created a Group By Field on an Order Number. Underneath that order number I have an array of AI_Status values. I would like to assess the entire array if any of the AI_Status values with the array are outside of the following array values [8, 16,32] and if so I would like to route that order number and the underneath array down one path and send the Order Number who AI_Statuses are either an 8,16, or 32 down another path.
Below is an example of the JSON as it exits the Group By Field Snap:
[
{
“groupBy”: {
“ContextName”: “202206871SRCN”
},
“processes”: [
{
“Name”: “AU-I6”,
“Enabled”: true,
“AI_CreatedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:28:05.487”
},
“AI_QueuedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:28:05.000”
},
“AI_Status”: 70,
“Ai_Reason”: “Completed successfully.”,
“ContextName”: “202206871SRCN”
},
{
“Name”: “AU-I50”,
“Enabled”: true,
“AI_CreatedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:28:05.530”
},
“AI_QueuedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:28:05.000”
},
“AI_Status”: 8,
“Ai_Reason”: “Completed successfully.”,
“ContextName”: “202206871SRCN”
},
{
“Name”: “AU-CORP1Buy”,
“Enabled”: true,
“AI_CreatedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:28:05.540”
},
“AI_QueuedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:28:05.000”
},
“AI_Status”: 8,
“Ai_Reason”: “Completed successfully.”,
“ContextName”: “202206871SRCN”
},
{
“Name”: “AU-UCCFinP”,
“Enabled”: true,
“AI_CreatedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:28:05.557”
},
“AI_QueuedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:28:05.000”
},
“AI_Status”: 8,
“Ai_Reason”: “Completed successfully.”,
“ContextName”: “202206871SRCN”
},
{
“Name”: “AU-S11”,
“Enabled”: true,
“AI_CreatedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:28:05.570”
},
“AI_QueuedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:28:05.000”
},
“AI_Status”: 8,
“Ai_Reason”: “Completed successfully.”,
“ContextName”: “202206871SRCN”
},
{
“Name”: “AU-T1a AU”,
“Enabled”: true,
“AI_CreatedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:28:05.590”
},
“AI_QueuedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:28:05.000”
},
“AI_Status”: 8,
“Ai_Reason”: “Completed successfully.”,
“ContextName”: “202206871SRCN”
},
{
“Name”: “AU-CORP1Sel”,
“Enabled”: true,
“AI_CreatedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:28:05.610”
},
“AI_QueuedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:28:05.000”
},
“AI_Status”: 8,
“Ai_Reason”: “Completed successfully.”,
“ContextName”: “202206871SRCN”
},
{
“Name”: “AU-X13”,
“Enabled”: true,
“AI_CreatedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:28:05.627”
},
“AI_QueuedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:28:05.000”
},
“AI_Status”: 8,
“Ai_Reason”: “Completed successfully.”,
“ContextName”: “202206871SRCN”
}
]
},
{
“groupBy”: {
“ContextName”: “202206896SRCN”
},
“processes”: [
{
“Name”: “AU-I6”,
“Enabled”: true,
“AI_CreatedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:27:05.487”
},
“AI_QueuedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:27:05.000”
},
“AI_Status”: 8,
“Ai_Reason”: “Completed successfully.”,
“ContextName”: “202206896SRCN”
},
{
“Name”: “AU-I50”,
“Enabled”: true,
“AI_CreatedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:27:05.530”
},
“AI_QueuedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:27:05.000”
},
“AI_Status”: 8,
“Ai_Reason”: “Completed successfully.”,
“ContextName”: “202206896SRCN”
},
{
“Name”: “AU-CORP1Buy”,
“Enabled”: true,
“AI_CreatedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:27:05.540”
},
“AI_QueuedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:27:05.000”
},
“AI_Status”: 8,
“Ai_Reason”: “Completed successfully.”,
“ContextName”: “202206896SRCN”
},
{
“Name”: “AU-UCCFinP”,
“Enabled”: true,
“AI_CreatedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:27:05.557”
},
“AI_QueuedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:27:05.000”
},
“AI_Status”: 8,
“Ai_Reason”: “Completed successfully.”,
“ContextName”: “202206896SRCN”
},
{
“Name”: “AU-S11”,
“Enabled”: true,
“AI_CreatedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:27:05.570”
},
“AI_QueuedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:27:05.000”
},
“AI_Status”: 8,
“Ai_Reason”: “Completed successfully.”,
“ContextName”: “202206896SRCN”
},
{
“Name”: “AU-T1a AU”,
“Enabled”: true,
“AI_CreatedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:27:05.590”
},
“AI_QueuedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:27:05.000”
},
“AI_Status”: 8,
“Ai_Reason”: “Completed successfully.”,
“ContextName”: “202206896SRCN”
},
{
“Name”: “AU-CORP1Sel”,
“Enabled”: true,
“AI_CreatedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:27:05.610”
},
“AI_QueuedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:27:05.000”
},
“AI_Status”: 8,
“Ai_Reason”: “Completed successfully.”,
“ContextName”: “202206896SRCN”
},
{
“Name”: “AU-X13”,
“Enabled”: true,
“AI_CreatedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:27:05.627”
},
“AI_QueuedOn”: {
“_snaptype_localdatetime”: “2022-11-07T22:27:05.000”
},
“AI_Status”: 8,
“Ai_Reason”: “Completed successfully.”,
“ContextName”: “202206896SRCN”
}
]
}
]

4 Replies

  • bojanvelevski's avatar
    bojanvelevski
    Valued Contributor

    Hello @bcole,

    I included a pipeline in the post that evaluates the array by using the array filter function. If the array objects, are filtered out based on the AI_Status field (their value is 8,16 or 32), and the array is not empty, then that means one of the AI_Statuses has some other value.

    I named that additional field as routingPath which can be easily used for further processing, in your case routing.

    Routing_FieldValue_2022_11_10.slp (11.7 KB)

    Hope this helps,
    Bojan

    • bcole's avatar
      bcole
      New Contributor

      Bojan,

      I think that solutions works nicely. Thank you so much. I just have one other question. What is the best way to add a value, specifically the IpaasQueueId , and EntityKey to Rows that are further down stream like after the stored procedure snap. The first SQL Snap and the second snap have an EntityKey = ContextName relationship. I need that and the IpaasQueueId from the first SQL call.