How to Create a Daily Habit Tracker for Multiple Habits

Hi! I’m trying to create a daily habit tracker for multiple habits. I’ve seen tons of examples for how to create habit or goal trackers for a single goal, but not for multiple goals.

I started to build out this table:

However, now I would have to add 363 more columns to the right side of the table in order to get it to do what I want. Before I do that very time-consuming task, is there a better way?

hi @Rai_Cornell ,

When you create a column named date, you have one instead of 365 columns. Your set up should be row based, not column based.

I guess it may you a bit of time to see it and when you do, it will be like o yes :wink:

Cheers, Christiaan

2 Likes

HI Rai,

I am working on something similar, including referencing some of the theory behind forming habits. It is far from finished, but the page Daily Update shows you the table structure that Christiaan has mentioned. At the bottom of the page is also a graph that tracks for each habit how many times you did it over the last 30 days.

Hopefully that helps.
P

Hey there!

This might give you some good ideas

Hey Christiaan,
I tried doing the dates as a column at first, so that each entry would be a row, but then I wouldn’t be able to group my habits the way that I want to (by daily/weekly/monthly/etc. or by mind/body/soul).

hi @Rai_Cornell ,

Maybe the approach below provides some inspiration, first the code part for this year, but to test you may want to put it on 10 days

 Sequence(Date(2024,01,01),Date(2024,12,31)).ForEach(CurrentValue.WithName(theDate,
        
  [DB Frequency].ForEach(CurrentValue.WithName(theFrequency, 
    [DB Activity].ForEach(CurrentValue.WithName(theActivity, 
     
[DB Tracker].AddRow(
 
[DB Tracker].theDate,theDate,
[DB Tracker].theWeekdayName,theDate.WeekdayName(),
[DB Tracker].theWeekNumber,theDate.WeekNumber(),
[DB Tracker].theMonthName,theDate.MonthName(),
[DB Tracker].frequency,theFrequency,
[DB Tracker].activity,theActivity
)
)
)
)
)
)
)

when you press the button you get what you see below (when you have a table matching the values)

as you see we have many times the same date and other values as well.

as you see, I created relations for most columns. Relations are powerful compared to select list.

It may take some time to see through, but when you start with a copy - paste (button on the canvas for the code, the tables) you will get the feeling.

I had a look at the contribution of @Piet_Strydom , it is interesting if you know well enough what you are looking for. It is all about getting started.

Cheers, Christiaan

Ohhhhhhhhh… I see! You added multiple 01/01/2024 dates in the first column so that you can group by that date, THEN by the other values. Wow… I hadn’t thought of that at all. Thank you, Christiaan! I’ll give this a try and report back. Thank you so much!

1 Like

hi @Rai_Cornell , could you solve this puzzle?

I wrote a blog related to your question:

Maybe it helps in case you did not yet solve the puzzle.

Thanks for your feedback so we can close this thread.

Cheers, Christiaan

1 Like