Getting the label of a split subset per delivery in data extraction

Avatar

Avatar

brianp76764507

Avatar

brianp76764507

brianp76764507

03-06-2020

Hi everyone,

I'm working on an automated report and one of the fields I'm trying to pull is the label of the split subset the delivery is attached to. This is what I have right now in the Data Extraction activity: 

image.png

In the picture below for example, I would be trying to get the values 'Engaged' and 'LowEngaged' for Delivery 1 and Delivery 2.

image.png
The expression above that I'm currently using just returns the label of first subset for every delivery. I've tested this on other campaigns with more than 2 subsets and they all just return the same label.


What I'm getting:

Delivery LabelSubset Label
Delivery Template 1Engaged
Delivery Template 2Engaged

What I want to get:

Delivery LabelSubset Label
Delivery Template 1Engaged
Delivery Template 2LowEngaged

Is there an expression I can use to achieve this or is this going to require a JS solution? Any help is appreciated.

Bonus Question:

Can this technique be applied to cases where there's more than 1 split?

image.png

In this case is there a way to return something like:

  • "Engaged, Travel2"
  • "Engaged, Travel"
  • "LowEngaged, Travel2"
  • "LowEngaged, Travel"

Again, any help is much appreciated.

Thanks.

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar

wodnicki

MVP

Avatar

wodnicki

MVP

wodnicki
MVP

03-06-2020

Hi,

 

The answer to both questions is to use js; get the workflow's data clob then parse it for transitions, i.e.:

 

for each (var extract in workflow.activities.extract) {
  for each (var transition in extract.transitions.*) {
    // make use of transition.@label, transition.@target
  }
}

 

Thanks,

-Jon

Answers (1)

Answers (1)

Avatar

Avatar

Jyoti_Y

MVP

Avatar

Jyoti_Y

MVP

Jyoti_Y
MVP

04-06-2020

Hi,

If your split is one time configuration, you can do JS variables in Advanced tab of split.

Js you can use:

vars.split1="Engaged"

vars.split2="Low Engaged"

 

And then you can use these variables in your delivery as: <%=vars.split1%>

 

Thanks.