Het schema van de rapportagedatabase begrijpen

Bijgewerkt

Bèta. De reporting database bevindt zich momenteel in bèta; het schema en de hier beschreven conventies kunnen nog wijzigen.

Waar uw gegevens staan

Alle gegevens van uw werkruimte staan in één schema genaamd company_<your-workspace-id>. Elke tabel daarin correspondeert met een concept dat u al kent van Azumuta.

De belangrijkste tabellen

De exacte set tabellen hangt af van wat u heeft geactiveerd. De meest voorkomende zijn:

Tabel Wat het bevat
workinstruction, workinstruction_version Uw werkinstructies en hun gepubliceerde versies.
instruction_step De individuele stappen binnen een versie van een werkinstructie.
instruction_visit, instruction_total_visit Elke keer dat een operator een stap doorloopt, plus totalen per stap.
recording, recording_status Uitvoeringssessies (een operator die een instructie uitvoert) en hun statusgeschiedenis.
issue Continuous-improvement issues / tickets, met handige vooraf berekende tellingen.
issue_task, issue_comment, issue_attachment, issue_signature, issue_checklist De items gekoppeld aan een issue.
issue_transition De geschiedenis van het verplaatsen van een issue tussen kolommen op het bord.
product_order, product_order_item, product_order_item_spot Productieorders en hun items.
users, user_group, user_group_member Personen en groepen in uw werkruimte.

Conventies die overal gelden

Als u deze paar regels kent, wordt het hele schema voorspelbaar:

  • Primaire sleutels. Elke tabel heeft een tekstuele primaire sleutel (bijvoorbeeld recording_id, issue_id) die overeenkomt met de id van het record in Azumuta. U kunt deze gebruiken om gerelateerde tabellen te koppelen.
  • Soft deletes. Rijen worden nooit stilzwijgend verwijderd. Wanneer iets in Azumuta wordt verwijderd, krijgt de rij een deleted_at-timestamp. Werk alleen met actuele data door where deleted_at is null aan uw queries toe te voegen.
  • Tijdstempels. Elke tabel bevat created_at en modified_at (en deleted_at). Alle tijdstempels worden opgeslagen in UTC.
  • Duur in milliseconden. Velden zoals actual_duration of rework_time worden opgeslagen als hele milliseconden. Deel door 1000 voor seconden.
  • Flexibele velden gebruiken JSON. Gegevens die in vorm variëren (zoals parameters of een instructie answer) worden opgeslagen als jsonb, die u kunt bevragen met de JSON-operators van PostgreSQL.
  • Vooraf berekende waarden. Om extra joins te besparen bevatten sommige tabellen kant-en-klare tellingen en metrics — bijvoorbeeld issue.comment_count, issue.open_task_count, of recording.rework_time.

De ingebouwde gegevenswoordenlijst

Aan elke tabel en elke kolom is een leesbare beschrijving gekoppeld. De meeste SQL-clients en BI-tools tonen deze automatisch. Bijvoorbeeld in psql:

\\d+ \"company_<your-workspace-id>\".issue

U kunt ze ook uitlezen met een query:

select column_name, col_description(
    ('company_<your-workspace-id>.issue')::regclass,
    ordinal_position
) as description
from information_schema.columns
where table_schema = 'company_<your-workspace-id>'
  and table_name = 'issue'
order by ordinal_position;

Dit betekent dat u zelden hoeft te raden wat een kolom betekent — het schema documenteert zichzelf.

Klaar om queries uit te voeren? Zie Voorbeeld-analyticsqueries.