Pivoting data in data flows (Year over year || week over week)

betogess
betogess Member
edited March 2023 in SQL DataFlows

Hi,

 

I have account information on one of my data sets like this:

 

 

Registrations:

Name Date_of_Registration
Daniel 2015-12-01
John 2015-10-22
Peter 2014-12-01

I want to use dataflows in order to pivot this data in two ways:

 

 

#1 New registrations per year

 

 

2014   2015  
1 2

#2 New registrations per week

 

 

 

Week      2014     2015
10 0 1
12 1 1

 

 

To solve this I've used a mysql that does this (mysql doesn't have a pivot function):

 

select  
sum(case when YEAR (date_of_registration) = 2014 then 1 else 0 end ) Year_2014
sum(case when YEAR (date_of_registration) = 2015 then 1 else 0 end ) Year_2015
from registrations

this works fine for yearly data, however for weekly data I was planning to do something like this:

 

select
sum(case when WEEK (registration_date) = 30 AND YEAR (registration_date) = 2014 then 1 else 0 end ) Week30_Year2014
sum(case when WEEK (registration_date) = 30 AND YEAR (registration_date) = 2015 then 1 else 0 end ) Week30_Year2015
from registrations

 

The query above would be fine for showing only two specific weeks, however I would like to have 2010 to 2015 and I don't want to add a sum per week per year.

 

Is there a better way to do this? Any help is grealy appreciated.

 

 

Best Answer

  • betogess
    betogess Member
    Answer ✓

    I Just realized this is solved with a simple group by Smiley Indifferent sorry, too long working on that flow Man Tongue

Answers

  • betogess
    betogess Member
    Answer ✓

    I Just realized this is solved with a simple group by Smiley Indifferent sorry, too long working on that flow Man Tongue

  • nalbright
    nalbright Contributor

    No need to apologize; sometimes you just need to work through the process of what you are doing.

    "When I have money, I buy books. When I have no money, I buy food." - Erasmus of Rotterdam
  • kshah008
    kshah008 Contributor

    Glad to see you have figured it out @betogess! I marked your second post as the accepted solution ?