Unique Records in Beast Mode

Reply
Yellow Belt

Unique Records in Beast Mode

I have three topics/cards with id's 11631,11634 &11636 and I have many users who completed these topics/cards. Now I want the list of all the users who completed all the three cards in a beast mode calculation. 
Base dataset would have columns like : card_id, user_id, Time


Accepted Solutions
Black Belt

Hi @user073741 

 

You can use a beast mode to calculate the number of distinct topic / card IDs if you're grouping based on the user ID with a simple COUNT(DISTINCT `user_id`)  however you aren't able to filter on an aggregate on a card. There is an alpha feature which enables this however I don't recommend it as it's doesn't always function as expected and is not even in beta.

 

What I recommend you do is use either a Dataset View (beta - talk with your CSM to about getting it enabled) to do a group by user_id and count the distinct number of card_ids

 

Alternatively you could do this within a Magic ETL 2.0 dataflow using a groupby tile with the "Count Distinct Values" option.

 

The end result is a dataset you can then use which would contain the user IDs and the number of distinct card_ids the user has taken to then filter this information based on.



**Was this post helpful? Click the heart icon**

**Did this solve your problem? Accept it as a solution!**

View solution in original post


All Replies
Black Belt

Hi @user073741 

 

You can use a beast mode to calculate the number of distinct topic / card IDs if you're grouping based on the user ID with a simple COUNT(DISTINCT `user_id`)  however you aren't able to filter on an aggregate on a card. There is an alpha feature which enables this however I don't recommend it as it's doesn't always function as expected and is not even in beta.

 

What I recommend you do is use either a Dataset View (beta - talk with your CSM to about getting it enabled) to do a group by user_id and count the distinct number of card_ids

 

Alternatively you could do this within a Magic ETL 2.0 dataflow using a groupby tile with the "Count Distinct Values" option.

 

The end result is a dataset you can then use which would contain the user IDs and the number of distinct card_ids the user has taken to then filter this information based on.



**Was this post helpful? Click the heart icon**

**Did this solve your problem? Accept it as a solution!**

View solution in original post

Yellow Belt

Thanks for the idea. I tried this way although I didn't get the filter this works for me.

Black Belt

does this video help address the thing you're trying to solve.
https://www.youtube.com/watch?v=9uNv1_0XXao


honestly, it's a bit complex for your use case.  you could just make a beast mode

 

case when card_ID in (<list of ids> ) then 'keep' else 'toss' end

 

then use that to filter your card. 

if you put 'user' on the axis, you know ever user that has completed one of those trainings.

 

if you take sum( case when card_ID in (<list of ids> ) then 1 end), if the number = 3 then they completed all the cards.


Jae Wilson
Check out my Domo Training YouTube Channel

**Say "Thanks" by clicking the heart in the post that helped you.
**Please mark the post that solves your problem by clicking on "Accept as Solution"
How to calculate the most recent date in #MySQL that meets criteria with #Domo.##### CONSULTING SERVICES ####I have left Domo to start my own consulting comp...
Announcements
New & Improved Dojo: Get excited for a new feel and additional features in the online community.

Site will be down February 4-5th for maintenance.

Launch coming February 8th!