Processing EnumList output

I have a classroom walkthrough form with various EnumList fields on it, so now I have data where various columns contain multiple entries.

email_observedInstDelAssessLearnLearn_EnvProf_KnowDef_Learning
demo1@school.com2,3,48,11132330,31,33
demo2@school.com1,2,38,9,10,1114,1523,24,25,26,2731,32,36
demo3@school.com2,4,56,7,101522,23,2431,35,40
demo2@school.com1,4,56,8,91424,2531,33,40
demo1@school.com1,3,48,913 , 1524,2530,31,36

What I need to do is separate out those EnumList responses into individual columns, so that I can reconnect them to the corresponding statements, then provide people with graphs, lists, etc

So, ideally (I think) I would have an output like this below, which I achieved in Sheets using SPLIT() & FLATTEN(), or even the next step which would be to split & flatten this again to create a data set with 3 columns (email, strand, criterion)

demo1@school.comInstDel234  
demo1@school.comAssessLearn811   
demo1@school.comLearn_Env13    
demo1@school.comProf_Know23    
demo1@school.comDef_Learning303133  
demo2@school.comInstDel123  
demo2@school.comAssessLearn891011 
demo2@school.comLearn_Env1415   
demo2@school.comProf_Know2324252627
demo2@school.comDef_Learning313236  
demo3@school.comInstDel245  
demo3@school.comAssessLearn6710  

So, my question is whether this is achievable directly as an output from AppSheet, or do I need to process the data through Sheets as I have demoed here?

0 4 67
4 REPLIES 4

What you are showing is a "pivot" table of sorts and no you cannot perform this transition "directly" in AppSheet as is.

However, I would like to point out that reason you need this "pivot" is because the first table is in a non-normal form.

If you were use a table structured like that in the second table - which is more normalized - then you wouldn't need the extra processing at all.  Something like this:

IDEmailAttributeResults
a1demo1@school.comInstDel2 , 3 , 4
a2demo1@school.comAssessLearn8 , 11
a3demo1@school.comLearn_Env13
a4demo1@school.comProf_Know23
a5demo1@school.comDef_Learning30 , 31 , 33
a6demo2@school.comInstDel1 , 2 , 3
a7demo2@school.comAssessLearn8 , 9 , 10 , 11
a8demo2@school.comLearn_Env14 , 15
a9demo2@school.comProf_Know23 , 24 , 25 , 26 , 27
a10demo2@school.comDef_Learning31 , 32 , 36
a11demo3@school.comInstDel2 , 4 , 5

You could one step further in "normalization"  by having each result value in its own row but the need for that depends on the usage for your data.

Thank you - that looks so much better but I have no idea how I would set things up that way.

Current intended usage is that there are 4 main strands (the Attributes in your table) and then within each strand there are multiple criteria. The way I've currently built the app is that each strand appears on it's own tab and the relevant criteria appear as buttons on each tab.

Would it be possible to generate a similar UX and still generate a table like yours?

I don't understand what your input Form looks like.  Can you show an example?

Does this help?

DMiles_0-1663612533472.png

DMiles_1-1663612554925.png

And this is a sample of the Criteria table that these statements come from

DMiles_2-1663612610193.png

 

 

Top Labels in this Space