Dataview: make a table with a separate row for different values of a key

Hi.
One thing is “what we want”, other thing is “what is possible” or “what we can achieve with the created structure of metadata”. :slight_smile:
Considering your custom metadata:

- Time:: 14:00
- Scene:: DT-01.01.01
- Summary:: Summary 1

- Time:: 16:00
- Scene:: DT-01.01.02
- Summary:: Summary 2

- Time:: 22:00
- Scene:: DT-01.01.03
- Summary:: Summary 3

This is equivalent to:

Time:
  - 14:00
  - 16:00
  - 22:00
Scene:
  - DT-01.01.01
  - DT-01.01.02
  - DT-01.01.03
Summary:
  - Summary 1
  - Summary 2
  - Summary 3

So, the only groups you have are by fields (an array/list of values in each field).
There are no “pseudo-groups” Time-Scene-Summary, this means, for example, there’s no direct relation between Time:: 14:00, Scene:: DT-01.01.01 and Summary:: Summary 1… only the order/position.

We can try something with that, but isn’t a simple one.
To do that you need to add a header to each group. For example:

## part 1
- Time:: 14:00
- Scene:: DT-01.01.01
- Summary:: Summary 1

## part 2
- Time:: 16:00
- Scene:: DT-01.01.02
- Summary:: Summary 2

## part 3
- Time:: 22:00
- Scene:: DT-01.01.03
- Summary:: Summary 3

The query to test the new structure:

TABLE WITHOUT ID rows.file.link[0] AS File, rows.L.Time[0] as Time, rows.L.Scene[1] as Scene, rows.L.Summary[2] as Summary
FROM "your-folder-path"
WHERE file.lists
FLATTEN file.lists AS L
WHERE contains(meta(L.section).subpath, "part")
GROUP BY file.name + meta(L.section).subpath
SORT rows.file.name ASC
4 Likes