I am trying to create a dataview query for files that have a certain nested YAML tag not empty. Unfortunately, there seems to be a problem filtering for the specific sub-tag.
For example, this is the frontmatter of file A:
---
index:
- categoryA: 1
---
And this is the frontmatter of file B:
---
index:
- categoryB: 1
---
Now I would like to filter for all files that have some value in index.categoryA
I use this query:
TABLE index.categoryA
FROM ""
WHERE index.categoryA
sort index.categoryA asc
Instead of only displaying file A, dataview displays both file A and B. What am I missing?
This was strange indeed, and I’m border line tempted to call this a bug within dataview.
I tried some variant using row["index"]["categoryA"] but that behaved the same, so then I thought about using FLATTEN, and that seems to do the trick. Not sure if it’ll have some side effects or not in a larger scenario, but for this simple query this seems to do the trick:
```dataview
TABLE catA
FROM ""
FLATTEN index.categoryA as catA
WHERE catA
SORT catA asc
```
Bonus tip: How to present code properly in a forum post
If you want to showcase either markdown, or code blocks, or dataview queries properly in a forum post, be sure to add one line before and one life after what you want to present with four backticks, ````. This will ensure that any other backticks (like for code blocks) is properly shown.
Hey, thank you for responding.
Your solution seems to work quite nicely!
I also implemented it in the actual project I was working with, which includes many more files and more complicated tag nesting. I am pretty sure this counts as a bug, but as for now, this is more than good enough!