Dataview: Need help creating a 4x4 chart with headers on both axis

Things I have tried

I see there is documentation for the dataview plugin but I need some help getting started.

What I’m trying to do

I am trying to create a 4 column table with header rows and columns.
Here is the screenshot below:

I want to create this data view and then populate each “Priority X” column with notes that I tag by those Priorities. This I know how to do myself, but I do not know how to structure the table in this way and was wondering if I can get some help to get me started. I can do without the “Impact/Effort” Columns, or figure out a way to add them without adding more complexity to the table view.

Maybe I should just create a separate dataview for each Priority and tag each note with the priority and the status “Important, Not Important, Urgent, Not Urgent”?

Is this going to be a one time table, or do you foresee to use this on various projects. If used in many different settings, how do you think you’ll differ between those?

Have you considered doing this as a dv.view() thing instead of a pure table? That would allow for you to construct the table on a different level possibly with better options for styling the table.

Good question. I didn’t think of that. I think that if this works out, I might want to use it for different projects.

Is dv.view() a javascript thing? Im not familiar with that. I just started with Obsidian a few months ago and am now learning Dataview. I have a CSS/HTML background but dont do much javascript programming.

Im looking at the dataview documentation and I am thinking that I dont need this layout… I might just put it all in one tablet with a priority column and sort by priority… Unless there is a better Idea… Can I group by a tag?

See Codeblock Reference - Dataview. It’s a way using javascript in combination with dataview to build output dynamically.

In combination with dv.table() or other of the dataview tools, you should be able to tune and fit the solution to match your needs.

From a general point of view, when seeing your use case, I think I would have used inline fields for the various sections in a given note, and then give that note to such a dv.view() script for presentation. This would allow for more in depth description of the various section in that note, and you could add it to as many notes as you liked.

Urgent-Important:: all the must haves

With explanations, as to why...

Urgent-NotImportant:: All the really want to have

NotUrgent-Important:: Should have this

NotUrgent-NotImportant:: Why even bother?!


`$= dv.view("myJs/PriorityMatrix", "ThisProject")`

It could very well be that using tags in list items for the markup, and then a table showing the various elements would be a good visual solution.

You can group by anything you’re able to access in the table query. (Not everything make sense, but you’re quite free to group by whatever you want. :smiley: )

Right. I would want to at least group notes by priority and then sort by that. That way I could see at a glance which sections I need to look at in order of priority… Im going to see how this works. Thanks for the help. I want to keep this as simple as possible :D.
Can you sort by metadata, and then by date so that I can order the items by date created, then group by priority?

Also is there a way to color code in dataview?

That shouldn’t be a problem, no. It’ll maybe look a little complex, but it should be doable.

Color coding is the hardest part, actually. But it can be achieved I think through using <span>'s in your fields.

Ahh, ok. so you can style the table rows I guess. I’ll figure it out. Thanks.

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