Expand my Community achievements bar.

SOLVED

Add Relationship : Adobe Experience Platform

Avatar

Level 4

Step 1: I have created Time-Series class named "weatherclass."

Step 2: Created schema named "weatherschema" offcourse with class "weatherclass". 

Step 3: "weatherschema" has primary identity as "zipcode" 

Step 4: Created Record schema called "profile" with identify "personalEmail.address"

Step 5: In "profile" schema, under "mailingaddress.postalcode" , when i am trying to establish "relationship" , between "profile" and "weatherschema" (which has Zipcode as primary identity").

 

i keep getting errors saying "select the profile which has primary identity in schema"

 

1 Accepted Solution

Avatar

Correct answer by
Level 4

hi @Danny-Miller  @Anil_Umachigi @AtulChavan , I made it work , keep Weather Schema as Event (and not record). The way i approached the problem was different.

Step1: Created Weather (xevent) as Class and Profile (record) as Class

Step 2:Created Weather Schema (xevent)and Profile Scheme (record)

Step 3: Weather Schema has Zipcode (identity) , also nms Zipcode (new namespace)

Step 4: Profile Schema has email (identity) , also nms EmailAddress (default email)

Step 5: Now , I establish relationship between Profile Schema with Weather Schema.

Validation steps:

For validation to check if its work or not , here is my hypothesis.

H1:  For particular Zipcode (ex: 95501) in Profile Schema, I should able to get temperature in Weather Schema

CJA Validation: Create DV with required Dimensions and Metrics

 

Validation:

Under Profile Zipcode , you have Temperature (screenshot says Humidity, you could ignore it as well as value- I was playing around)

navink386520_1-1660872462494.png

 

 

View solution in original post

11 Replies

Avatar

Employee Advisor

@navink386520 I think the way you are trying to use Weather as an Event, while clever, isn't going to work.  You would need to either:

  1. Duplicate the Event to everyone in the zipcode, giving each profile their own event ... OR
    1. Use if you want to capture the weather for everybody, everyday
  2. Make Weather as a Lookup (by changing to Record behavior vs Time-Series).  
    1. Use if you want to capture the weather today and then overwrite it constantly

Edited:

Added some clarity on when to use which one.

Avatar

Level 4

Given weather is time-series based like today in zipcode (88888) has 80 F and tomorrow its 90F and so on. Why would it be record ?

 

Also, in weather i dont have any personal information.

Avatar

Community Advisor and Adobe Champion

@navink386520 Could you elaborate on usecase if you do not mind? Are you trying to show relevant weather based on profile zipcode? is that it or something else? 

 

Adding to what @Danny-Miller mentioned, using an event would literally create a row of data for every time you update ( assuming it's daily) which might be really not worth it.

Also you really do not need personal information in a record class, you can pretty much use it just with zipcode and meta data associated with it. 

Avatar

Level 4

@Anil_Umachigi  @Danny-Miller  as mentioned earlier , attributes : Zipcode, temperature, date.

Every day , its create new row of record. i.e, Time-based record (similar to user action lets says day1 :user add 1 prd , day 2: user days 2 prds etc). To me these are immutable records, and i want to keep all the rows of record i.e temperature across all days for each of my zipcode. 

Thus question again : Why can't i use Time-series ? 

Second question: Given "weatherschema" doesn't have any profileid's (such as email / phone), when i establish relationship between "profile" and "weatherschema" it keep throwing an error.

 

Avatar

Employee Advisor

@navink386520 To be used on Profile, Time-Series is meant to define an event for an individual, i.e. you need to attach it to an identity of a Profile.  Thus, in the Time-Series you need a Person identity.  You have zipcode as the identity.

So, if you want to capture and use weather and apply it to each person, use option 1.

  1. Duplicate the Event to everyone in the zipcode, giving each profile their own event (and add in the Person identity)
    • Use if you want to capture the weather for each person, everyday

Avatar

Correct answer by
Level 4

hi @Danny-Miller  @Anil_Umachigi @AtulChavan , I made it work , keep Weather Schema as Event (and not record). The way i approached the problem was different.

Step1: Created Weather (xevent) as Class and Profile (record) as Class

Step 2:Created Weather Schema (xevent)and Profile Scheme (record)

Step 3: Weather Schema has Zipcode (identity) , also nms Zipcode (new namespace)

Step 4: Profile Schema has email (identity) , also nms EmailAddress (default email)

Step 5: Now , I establish relationship between Profile Schema with Weather Schema.

Validation steps:

For validation to check if its work or not , here is my hypothesis.

H1:  For particular Zipcode (ex: 95501) in Profile Schema, I should able to get temperature in Weather Schema

CJA Validation: Create DV with required Dimensions and Metrics

 

Validation:

Under Profile Zipcode , you have Temperature (screenshot says Humidity, you could ignore it as well as value- I was playing around)

navink386520_1-1660872462494.png

 

 

Avatar

Employee Advisor

@navink386520 Can you post some screenshots of the schemas?

I still think this will have a challenge with Profile since even if this works from a relationship standpoint, my expectations are that Segmentation will have some challenges resolving this 1:M relationship due to zip code having multiple events.  You will probably have to always filter on timestamp to get down to one event.

Let us know, I'm very curious.

Thanks

Avatar

Level 4

Me too very curious , on that note. I spent time on Segmentation, and found few issue on platform (not my solution :)) 

Issue Details:

As mentioned earlier about Profile Class and Profile Schema (screenshot below)

navink386520_0-1660926001181.png

 

I wanted to see some of these attributes in segmentation, however its seems any Schema Attributes (not used using custom xevent or record), does not seems to appear in segmentation.

navink386520_1-1660926079730.png

as you see in image 1: Assigned class is NOT XDM Individual Profile, rather Class - lookupUtilityPersonalContact

navink386520_3-1660926107449.png

 

So , there are two Questions to address.

1. Will AEP not show Schema assigned to custom class?

2. If so, how will i work on segmentation based on custom class?

 

Avatar

Employee Advisor

@navink386520 I can imagine how this might work in CJA, but I'm still unsure this would work in Segmentation.  Have you tried it there?

Avatar

Level 5

Hi @navink386520 ,
I assume you've created custom identity namespace for your zipcode. Which is a non people identifier type. All you need to do is enable your weather schema for profiling and you should be good. I could reproduce error without enabling for profile and got rid of that error the moment I enabled it for profiling. Please note don't forget to refresh window when you're done with changes. Let me know if this works

Before Enabling

AtulChavan_0-1660656843989.png

After Enabling 

AtulChavan_1-1660656857879.png


Edit : Adding schema and identity composition snapshots for your reference...

Identity setup 

AtulChavan_0-1660671202390.png


Event Schema (Time-Series) i.e. weatherSchema

AtulChavan_1-1660671262379.png


Record Schema 

AtulChavan_2-1660671317236.png