Filtering empty groups / showing only relevant empty groups in a table

Hi! I’m struggling with this question for a long time, hope someone can help me.

Is there any way to show only relevant empty groups in a table?

Let’s say I’m building a task tracker with simple hierarchy Projects → Sub Projects → Tasks and I have a separate tables for Projects, Sub Projects and Tasks.

In the end I want to show all Tasks grouped by Project and Sub Projects.

I can force Coda to show all Projects, even empty ones that don’t have any Tasks associated with them by selecting “show empty groups” in group options for column Projects (Project 4 is shown in my example even it doesn’t have any Tasks).

The problem is I can’t force coda to show relevant empty groups for Sub Project grouping.

In my example, there is a Sub Project 1 for Project 2 that doesn’t have any rows in table Tasks associated with it, so it’s not shown.

Well, I can ask Coda to show empty groups for Sub Projects column grouping, but then Coda goes crazy and shows all Sub Projects from any Project for all Project groups (for example, Sub Project 1 for Project 2 is shown for Project 1 etc). Like this:

It is something in Coda that drives me crazy for a very very long time.

Default behavior of “show empty groups” option doesn’t make any sense to me when you group by more than one column. Why on earth anyone would want to show groups that just can’t exist? (Like showing all rows from Sub Projects table for all Projects when any Sub Project can belong to only one Project).

In my mind, grouping by more than one column is just broken when not all rows has data in columns by which rows are grouped.

In my ideal system Tasks table will:

  • Show all Projects from Projects table even if there are no Tasks currently associated with some Projects
  • Show all available Sub Projects groups for every Project even if there are no Tasks currently associated with some Sub Projects, but don’t show groups that don’t exist in Sub Projects table (like Sub Project 1 for Project 2 in Project 1 group).
  • Have a way to add new Sub Projects in Tasks table for Project groups (now when I click + under the Sub Project in Tasks table I can add a group that is just some virtual group, it doesn’t get saved in Sub Projects table; but + in Projects group in Tasks table does add a new Project row in Project table)

It’s possible I just can’t figure out the correct way to do it.
If it’s the case, please please please someone help me :pray::pray::pray:


A version of this question was asked in this forum for years.
In December 2022 @BenLee said Coda is working to make it possible.

Any updates on this?

P.S. Currently I also experience a bug: when I open group options I can’t toggle “show empty groups” setting, I need to change sort first, otherwise group options just close without toggling “show empty groups” setting.


Here is a link for this document in case someone needs it:

Hello @Andrei_Kharlanov ,

The problem is not with Coda, but with your setup.

  1. if you ask coda for showing empty groups (subtasks) it is indeed going to show for every project every possible subtask, because Coda can’t know (in this setup) that the subtask is not related to the project: you feel you are defining that in the subtask table, but the task table is not aware of this relation.
  2. not asking to show empty groups is indeed going to skip the subtask with no tasks, because you are working in the task table and it can’t show rows that don’t exist. In my sample below I add one extra task row (blank task for project 2 sub 1) and you get your desired result.

There are a few ways to solve this, but that’s beyond the scope of your question - Coda works (as far as I am concerned) as expected.

You have to rethink the way you are working, probably using the project table as a start.

Hello, @joost_mineur!

Very possible the problem is with my setup and Coda can’t do what I want it to do.

But can imagine a lot of scenarios when people would want to group rows by more then one column and have empty sub groups shown, but only ones that make sense and not all possible combinations of subgroups for every group.

Yeah, I do feel that Coda should be aware of relation Sub Project → Project.
As for me, this relation is quite straightforward in my setup. Each row in Sub Projects table can have a value for Projects column which is relation to Projects table and can have only one row from Projects table linked to it. Each row in Projects table can have values in Sub Projects column which are linked to Sub Projects table (as you probably saw if you made change suggested in your point #2, this columns are there, just hidden).

If Coda is not aware of this relation in this setup, can you please advise in which setup it can be aware of it?

Yeah, I know that if I add empty rows of Tasks to each Sub Project, these Sub Project groups will be shown. But that is not a smooth UX. I want to see all the Sub Project groups in my working Tasks view before adding new Tasks to them.

There are some ways I can think of, but all of them are, in my opinion, clunky.

  1. Make a button column in Sub Projects table that on click will add new row to Sub Project table and create new empty row in Tasks table with link to newly created row in Sub Project table.
  2. Create a button that will filter Sub Projects table and look for all Sub Projects that don’t have any rows in Tasks table associated with them and create new rows with relation to them in Tasks table.
  3. Add automation that will create an empty row in Tasks table with link to newly created Sub Project every time new row in Sub Projects table is created, but this automation is a) quite slow, b) can consume automation quota fast on Pro subscription level that I use.

All of these methods are far from great.

I’m pretty sure way more people expect from “show empty groups” option for the second level groups the behavior I described than for Coda to show all possible combinations of groups that don’t exist in sub group table.

What I’m asking Coda to do is pretty basic feature from user perspective, way simpler than a lot of magic Coda can do. We have filters for everything, why not for groups?
Quite possible it’s hard for Coda team to implement but I don’t think it’s an unreasonable request.

I’ll be grateful if you can give me tips on how to do that.

Hello @Andrei_Kharlanov ,

I understand you don’t like my previous answer, but you make an error in your thinking about showing empty subprojects: visually there is a relation in your subproject table between the subproject and the project, but there is no code that defines that relation - it is just a column with the project name, doing nothing, other than being useful for filtering in your select columns.

Something similar applies to the project column in the task table. It works exactly the same and the only reason it shows what you expect is because there is no top column above the project column.

If there would have been another top level (for example ‘company’ and there is more than one company you will run into the same problem and get all projects for all companies if you use this group option the way you have done now.

I would not use the group option to show empty groups, but I would make sure these groups exist in your tasks table.

You can automate that with buttons or with automations.

Conclusion: you have to make sure at least one task exists for every subproject if you want it to show in your final table. It can be a blank task, but what doesn’t exist is not going to show.

If you are going to automate this (as mentioned above), it will do that for every new subtask you make. Of course, you can automate removing these blank tasks upon entering a new task for this specific subproject.

The only way Coda can help is to allow a filter to overrule the result of ‘show empty groups’.

Good luck with your project,
Greetings, Joost

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.