Filter by aggregate work around?

Hi there,

I'm aware that you cannot filter by an aggregate (even if created in breast mode). I'm wondering how I could create the aggregate in magic ETL or SQL. My knowledge on both is quite limited.

My raw data looks something like this:

Staff Course

Jon course 1

Jon course 2

Suzie course 1

Jon course 3

I would like it to look like this from the ETL/SQL so I can then filter by who has completed 2+ courses.

Staff Count of distinct course

Jon 3

Suzie 1

Thank you in advance

Best Answer

  • MarkSnodgrass
    MarkSnodgrass Portland, Oregon 🟤
    Accepted Answer

    Yes. That is the correct way to do it in SQL. I prefer Magic ETL because it tends to run faster.


  • MarkSnodgrass
    MarkSnodgrass Portland, Oregon 🟤

    In Magic ETL, you can use the Group By tile to create a count of courses by staff person. In the Group By tile configuration, select Staff in section 1 as the column to identify the grouping. In section 2, label the column count (or whatever makes sense to you) and choose Course for the column and choose Count Distinct Values in the final dropdown list.

    This will give you the numbers you are looking for.

  • Thanks Mark! I have found another work around using SQL transformation:

    SELECT COUNT(DISTINCT `Name`) AS Count,`UserId`

    FROM `april_20th_ea` 

    GROUP BY `UserId`

    Your idea may work as well! I will test it if this seems to stop working :)