filters:
  and:
    - note.categories.contains(link("Products"))
    - '!file.name.contains("Template")'
formulas:
  Owned: ((now() - acquired).months).round()
  totalUses: monthlyUses * formula.Owned.round()
  perUse: (price / formula.totalUses).toFixed(2)
properties:
  note.monthlyUses:
    displayName: Uses/month
  formula.Owned:
    displayName: Months
  formula.totalUses:
    displayName: Total uses
  formula.perUse:
    displayName: Per use
  note.price:
    displayName: Price
  note.rating:
    displayName: Rating
  note.acquired:
    displayName: Acquired
  note.type:
    displayName: Type
  file.name:
    displayName: Product
views:
  - type: table
    name: Products
    order:
      - file.name
      - acquired
      - rating
      - price
      - monthlyUses
      - formula.perUse
      - formula.Owned
      - formula.totalUses
      - type
    sort:
      - property: formula.perUse
        direction: ASC
      - property: formula.totalUses
        direction: ASC
      - property: acquired
        direction: DESC
      - property: file.name
        direction: DESC
      - property: rating
        direction: DESC
      - property: formula.Owned
        direction: ASC
    columnSize:
      file.name: 209
      note.acquired: 112
      note.price: 78
      note.monthlyUses: 123
      formula.perUse: 102
      formula.Owned: 113
      formula.totalUses: 115
  - type: table
    name: Cost per use
    filters:
      and:
        - note.monthlyUses > 0
    order:
      - file.name
      - acquired
      - monthlyUses
      - price
      - formula.Owned
      - formula.totalUses
      - formula.perUse
      - type
      - rating
    sort:
      - property: acquired
        direction: ASC
      - property: monthlyUses
        direction: DESC
      - property: rating
        direction: DESC
    columnSize:
      file.name: 207
      note.acquired: 112
      note.monthlyUses: 131
      note.price: 78
      formula.Owned: 99
      formula.totalUses: 100
      formula.perUse: 93
  - type: table
    name: Maker
    filters:
      and:
        - list(maker).contains(this)
    order:
      - file.name
      - rating
      - formula.perUse
      - monthlyUses
      - price
      - formula.totalUses
      - formula.Owned
      - acquired
      - type
    sort:
      - property: file.name
        direction: ASC
      - property: formula.totalUses
        direction: DESC
      - property: acquired
        direction: DESC
      - property: monthlyUses
        direction: DESC
    columnSize:
      file.name: 209
      note.monthlyUses: 82
      formula.totalUses: 115
  - type: table
    name: Type
    filters:
      and:
        - list(type).contains(this)
    order:
      - file.name
      - rating
      - formula.perUse
      - monthlyUses
      - price
      - formula.totalUses
      - formula.Owned
      - acquired
      - type
    sort:
      - property: rating
        direction: DESC
      - property: file.name
        direction: ASC
      - property: formula.totalUses
        direction: DESC
      - property: acquired
        direction: DESC
      - property: monthlyUses
        direction: DESC
    columnSize:
      file.name: 209
      note.monthlyUses: 82
      formula.totalUses: 115
