My data is structured as below, where each unique ID will have a row displaying the balance on the last day of the month :
ID Day_Key Balance
23412 20171229 50000
23412 20180131 45000
23412 20180228 40000
27435 20171229 100000
27435 20180131 80000
27435 20180228 60000
I want to create a table where each unique ID is displayed on one row, with columns indicating the balance at each month, like so :
ID DEC17 JAN 18 FEB18
23412 50000 45000 40000
27435 100000 80000 60000
**UPDATE*
My current code is shown below
PROC SQL;
CREATE TABLE BAL_TRANSPOSE AS
SELECT DISTINCT ID,
MAX(SUB_EY17) AS EY17,
MAX(SUB_JAN18) AS JAN18,
MAX(SUB_FEB18) AS FEB18,
MAX(SUB_MAR18) AS MAR18,
MAX(SUB_APR18) AS APR18,
MAX(SUB_MAY18) AS MAY18,
MAX(SUB_JUN18) AS JUN18,
MAX(SUB_JUL18) AS JUL18,
MAX(SUB_AUG18) AS AUG18,
MAX(SUB_SEP18) AS SEP18,
MAX(SUB_OCT18) AS OCT18,
MAX(SUB_NOV18) AS NOV18,
MAX(SUB_EY18) AS EY18
FROM (SELECT DISTINCT ID,
CASE WHEN DAY_KEY = 20171229 THEN OUTSTANDING_BALANCE END AS SUB_EY17,
CASE WHEN DAY_KEY = 20180131 THEN OUTSTANDING_BALANCE END AS SUB_JAN18,
CASE WHEN DAY_KEY = 20180228 THEN OUTSTANDING_BALANCE END AS SUB_FEB18,
CASE WHEN DAY_KEY = 20180330 THEN OUTSTANDING_BALANCE END AS SUB_MAR18,
CASE WHEN DAY_KEY = 20180430 THEN OUTSTANDING_BALANCE END AS SUB_APR18,
CASE WHEN DAY_KEY = 20180531 THEN OUTSTANDING_BALANCE END AS SUB_MAY18,
CASE WHEN DAY_KEY = 20180629 THEN OUTSTANDING_BALANCE END AS SUB_JUN18,
CASE WHEN DAY_KEY = 20180731 THEN OUTSTANDING_BALANCE END AS SUB_JUL18,
CASE WHEN DAY_KEY = 20180831 THEN OUTSTANDING_BALANCE END AS SUB_AUG18,
CASE WHEN DAY_KEY = 20180928 THEN OUTSTANDING_BALANCE END AS SUB_SEP18,
CASE WHEN DAY_KEY = 20181031 THEN OUTSTANDING_BALANCE END AS SUB_OCT18,
CASE WHEN DAY_KEY = 20181130 THEN OUTSTANDING_BALANCE END AS SUB_NOV18,
CASE WHEN DAY_KEY = 20181231 THEN OUTSTANDING_BALANCE END AS SUB_EY18
FROM TABLE1) AS SUB
GROUP BY ID;
QUIT;
The new columns are created, however only null values appear. Below is the results I am seeing (trimmed for readability). The query returns over 1m records but from what I can see, all have 0 values. I have tested the data and know that every ID should have a value for each day_key.
ID EY17 JAN18 FEB18 MAR18 APR18
1111 - - - - -
2222 - - - - -
3333 - - - - -
4444 - - - - -
5555 - - - - -