I have a data model with the following relationship
Profile 1 ---> n orders 1 --> n order items
In Adobe Campaign Classic there was the concept of "filtering dimension" which could be selected to filter your targeting dimension (usually recipients) using linked data, such as orders. And I understood this to be more efficient that "Orders exist such as"
Is there anything similar in ACS?
What is the most efficient way to target someone that has ordered a specific SKU other than starting with Profiles as the resource:
Orders exist such as:
Order Items exist such as SKU = XXXX
I'm dealing with fairly large data sets in each of the tables, so keen for it to be as efficient as possible (but really needs to be done through the audiences/query builder for practical reasons)
Yes there is, it is on the Property tab of a Query activity
Now your data model should ensure you have the link to Profile available from Order and From Order Item (make sure you've got an index too), this will allow you to filter on Order Item and return the Profile as Target dimension. See sample of Query activity below
The most efficient way to query is to start by the lowest end, aka Order Item in your case (or Order if you're not interested in products bought) and ensure your target Dimension is Profile. To ensure Profile is visible in the Targeting dimension, you would have to create a 0-1 or 1-1 link between the Filtering resource (Order or Order Item) and Profile.... Having a direct relation between Order Item and Profile is not natural but if you want efficiency, that's the way to go otherwise you'll have to traverse the Order to get the Profile which is not efficient at all