Het schema van de rapportagedatabase begrijpen

Bijgewerkt

Bèta-functie. De rapportagedatabase is momenteel in bèta en kan nog wijzigen. Deze is alleen beschikbaar via opt-in. Om deel te nemen aan de bèta of vragen te stellen, neem contact op met support@azumuta.com.

Waar uw gegevens staan

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

De belangrijkste tabellen

De exacte set tabellen hangt af van wat u hebt ingeschakeld. De meest voorkomende zijn:

Table What it holds
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 totaaltellingen per stap.
recording, recording_status Uitvoeringssessies (een operator die een instructie uitvoert) en hun statusgeschiedenis.
issue Issues voor continue verbetering / tickets, met handige vooraf berekende tellingen.
issue_task, issue_comment, issue_attachment, issue_signature, issue_checklist De items die aan een issue zijn gekoppeld.
issue_transition De geschiedenis van een issue dat tussen kolommen op een bord is verplaatst.
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 regels kent, wordt het hele schema voorspelbaar:

  • Primaire sleutels. Elke tabel heeft een primaire sleutel als tekst (bijvoorbeeld recording_id, issue_id) die overeenkomt met de id van het record in Azumuta. U kunt deze gebruiken om gerelateerde tabellen te koppelen.
  • Zachte verwijderingen. Rijen worden nooit stilzwijgend verwijderd. Wanneer iets in Azumuta wordt verwijderd, krijgt de rij een deleted_at timestamp. Om alleen met actuele gegevens te werken, voeg where deleted_at is null toe aan uw queries.
  • Timestamps. 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 gehele 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 opvragen met PostgreSQL's JSON-operatoren.
  • Vooraf berekende waarden. Om extra koppelingen te voorkomen, bevatten sommige tabellen kant-en-klare tellingen en metrics — bijvoorbeeld issue.comment_count, issue.open_task_count, of recording.rework_time.

Het ingebouwde gegevenswoordenboek

Elke tabel en elke kolom heeft een mensleesbare beschrijving. 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;

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

Klaar om queries uit te voeren? Zie Voorbeeldanalytische queries.