BETA: De reporting database is momenteel in bèta en kan nog verder evolueren. Deze is alleen beschikbaar via opt-in. Neem contact op met support@azumuta.com om deel te nemen aan de bèta of om vragen te stellen.
Waar uw gegevens zich bevinden
De beheerde reporting database slaat de reportable gegevens van uw workspace op in een schema met de naam company_<normalized-workspace-id>. De naam gebruikt kleine letters en vervangt andere tekens, behalve cijfers, door underscores. Een aangepaste database kan een ander schemanaam gebruiken. Gebruik uw geconfigureerde schemanaam in de onderstaande voorbeelden.
De hoofdtabellen
Het inschakelen van de reporting database synchroniseert alle onderstaande tabellen. U kunt geen afzonderlijke tabellen selecteren.
| Tabel | Wat het bevat |
|---|---|
workinstruction, workinstruction_version, workinstruction_tag
|
Werkinstructies, hun versies en hun toegewezen tags. Versies bevatten niet-goedgekeurde versies. Gebruik is_approved en is_effective om de goedkeurings- en effectieve-datum status te controleren. |
instruction_step |
De afzonderlijke stappen binnen een Werkinstructie versie. |
instruction_visit, instruction_total_visit, instruction_partial_check
|
Elke keer dat een operator een stap doorloopt, totalen per stap en gedeeltelijke checkinzendingen. |
recording, recording_status, recording_variant, recording_step
|
Recordings met een werkinstructie versie en hun statusgeschiedenis, geselecteerde variantinformatie en per-stap recordinggegevens. Deze kunnen geplande audits bevatten die nog niet zijn gestart. |
issue, board, issue_column
|
Issues, hun borden en hun bordkolommen. Deze bevatten Continue verbetering, goedkeuring, Andon en Trainingstraject borden. Gebruik issue.board_type om een bordtype te selecteren. |
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 die tussen bordkolommen beweegt. |
product_order, product_order_workinstruction, product_order_workinstruction_spot
|
Productieorders en de werkinstructies die eraan zijn gekoppeld. |
article, article_category
|
Productartikels en hun categorieën, geen kennisbank-artikels. |
tree_node |
De Explore tree-structuur die modules, mappen en inhoud organiseert. |
user, user_group, user_group_member
|
Personen en groepen in uw workspace. |
Audit recordings in de reporting database
De recording tabel bevat alleen recordings met een numerieke werkinstructie versie. Een recording zonder versie wordt uitgesloten, zelfs wanneer de status Afgewerkt (FINISHED) is.
De recording hoeft niet Bezig (IN_PROGRESS) of Afgewerkt te zijn om te worden opgenomen. Een offline download kan een werkinstructie versie koppelen terwijl de status Gepland (IN_QUEUE) blijft. Na een geslaagde reporting database synchronisatie kan die recording verschijnen met status IN_QUEUE.
Automatische downloads zijn afhankelijk van de geselecteerde inhoud en het datumbereik van het apparaat. Ze kunnen plaatsvinden voordat een operator een audit opent. Zie Apparaatinstellingen: Offline.
Het sluiten van een niet-gestarte audit als N/A (NOT_APPLICABLE) koppelt niet automatisch een werkinstructie versie. Als de recording geen versie heeft, blijft de reporting database deze uitsluiten. Status alleen verklaart niet of een audit in de database verschijnt.
Status en resultaat zijn verschillend
De status kolom bevat de opgeslagen waarde, zoals IN_QUEUE, niet het weergavelabel Gepland. Zie Status, resultaat en notities voor alle Engelse labels en opgeslagen waarden.
De recording_status tabel bevat statuswijzigingen. Deze bevat geen resultaatwijzigingen.
De recording.result kolom slaat het geselecteerde resultaat op, zoals Succes (SUCCESS), Mislukt (FAILED), N/A (NOT_APPLICABLE) of Geannuleerd (CANCELLED). Nieuwe recordings beginnen met PLANNED. Deze waarde kan blijven als geen resultaat is geselecteerd. Als de bronrecording geen resultaatwaarde heeft, is de kolom NULL. Gebruik status, niet result, om de uitvoeringsstatus te identificeren.
De is_failure kolom wordt berekend op basis van checks, events en herwerk. Deze kan true zijn vanwege:
- Een mislukte check of dubbelcheck.
- Een koppelresultaat van
NOK. - Een getal buiten de toegestane limieten.
- Een Andon event, dat een probleem tijdens uitvoering signaleert.
- Een huidige of vorige Herwerk (
REWORK) status.
De is_defect kolom gebruikt dezelfde checks maar sluit herwerk alleen uit. Bijvoorbeeld, herwerk zonder een mislukte check of Andon event geeft is_failure = true en is_defect = false. Vorig herwerk kan is_failure = true behouden nadat de recording is afgewerkt. Zie Herwerk voor de workflow.
Geen van beide berekeningen gebruikt het geselecteerde resultaat. Om N/A of Succes te identificeren, gebruikt u result, niet is_failure = false. Een recording kan is_failure = false hebben zonder een geselecteerd resultaat.
Recording notities
De recording.notes kolom bevat de recording notities, inclusief notities ingevoerd met een resultaat. U kunt filteren op notes = 'auto cleanup' om recordings met die exacte notitie te identificeren. Ontbrekende of lege notities verschijnen als NULL.
Rijen die zijn gesynchroniseerd voordat
resultennoteswerden toegevoegd, kunnen nog steedsNULLin deze kolommen hebben. Een normale synchronisatie werkt alleen gewijzigde recordings bij. Een volledige resynchronisatie is nodig om deze kolommen in te vullen voor ongewijzigde historische recordings.
Voltooid werk en gesloten orders
Recording status en product-order status beschrijven verschillende niveaus van werk:
| Veld en waarde | Betekenis |
|---|---|
recording.status = 'FINISHED' |
De recording is beëindigd. Controleer result afzonderlijk. |
product_order.enhanced_status = 'all-complete' (Alles voltooid) |
De actieve order voldoet aan de berekende voltooiingsvoorwaarden. Deze houden rekening met de werkinstructies, hoeveelheden en niet-gearchiveerde onderliggende orders. |
product_order.enhanced_status = 'finished' (Afgewerkt) |
De order is gesloten. |
Een order kan Bezig blijven wanneer de recordings zijn afgewerkt maar de voltooide hoeveelheid niet overeenkomt met de vereiste hoeveelheid. Een actieve order zonder werkinstructies of onderliggende orders is Alles voltooid. Zie Product-order status.
Het geforceerd afronden van een order annuleert de onafgewerkte recordings. Deze recordings ontvangen status FINISHED en resultaat CANCELLED. Dus sluiting is geen bewijs van geslaagde uitvoering. product_order.finished_at registreert order sluiting, niet noodzakelijk het moment waarop al het werk was voltooid.
Zone associaties en toewijzing
product_order_workinstruction_spot relateert elk order item aan zijn zones. De zone_type identificeert de bron:
-
assigned: een zone toegewezen aan het order item. -
accessed: een zone geregistreerd tijdens operator activiteit, tenzij dezelfde zone alassignedis. -
associated: een zone van werkinstructie plaatsing, gebruikt alleen wanneer het item geen toegewezen of geraadpleegde zones heeft.
De tabel combineert toegewezen en geraadpleegde zones. Het houdt één rij per item en zone, met assigned met prioriteit. Een vergrendelde toewijzing is geen afzonderlijk SQL zone type.
Voorbeeld: een item is toegewezen aan A, geraadpleegd op A en B, en heeft standaard plaatsing C. De rijen zijn assigned A en accessed B, zonder C. Een filter op zone_type = 'accessed' mist daarom de toegang op A.
Fallback plaatsing gebruikt het directe bovenliggende tree node van de werkinstructie wanneer dat knooppunt een zone is. Het zoekt niet naar willekeurige voorouders.
Toewijzingen kunnen veranderen. De assigned_spot_id velden beschrijven toewijzing, niet een onveranderlijke uitvoeringslokatie. De associatietabel is geen toewijzingsgeschiedenis. De regels ervan komen ook niet overeen met elke ingebouwde widget. Zie Zone filtering voor product-order widgets voor widget configuratie.
Verbinding op order-item niveau
Om gepland werk te tellen, begint u bij product_order_workinstruction. Als u recording details nodig hebt, gebruikt u een left join van recording_id naar recording.id. Dit behoudt items zonder een reporting rij voor een recording.
Verbind zones via product_order_workinstruction_spot.product_order_workinstruction_id = product_order_workinstruction.id. Verbind niet alleen op workinstruction_id: meerdere order items kunnen dezelfde werkinstructie gebruiken.
Meerdere zones of bezoeken kunnen de hoeveelheid van een item of de duur van een recording in een verbonden resultaat herhalen. Gebruik EXISTS voor een associatiefilter, of aggregeer elke bron voordat u verbindt. Zie Order items tellen die aan een zone zijn gekoppeld.
Geplande gebruikers en daadwerkelijke operators
recording.planned_user_id en planned_group_id beschrijven toewijzing. Ze identificeren niet iedereen die het werk heeft uitgevoerd. instruction_visit.user_id identificeert de operator voor dat bezoek.
Meerdere operators kunnen bijdragen aan één recording. Tel afzonderlijke recording ID's voor elke operator, niet bezoekrijen. Een gedeelde recording telt dan voor elke bijdragende operator. Zie Recordings voor de report workflow en de operator query voor deze berekening.
Bezoeken, pogingen en toepasselijke stappen
-
instruction_visitheeft een rij wanneer een operator een stap verlaat. Een bezoek dat nog open is, kan nog geen rij hebben. -
type = 'normal'entype = 'double-check'zijn afzonderlijke bezoekgroepen.is_last_visitmarkeert het laatste bezoek binnen zijn groep, niet noodzakelijk het laatste bezoek met een antwoord. Zie Dubbelchecks. - Een geblokkeerde of ongeldige check telt als een poging maar levert geen aanvaard antwoord op.
instruction_total_visit.answer_attemptstelt bezoeken met een poging nadat de operator vertrekt, niet afzonderlijke knopdrukken. -
instruction_total_visitbevat totalen en het uiteindelijke geregistreerde antwoord voor elke recording, stap en bezoektype. Een geregistreerd antwoord is niet noodzakelijk een succesvol antwoord. -
recording_step.active = falsebetekent dat varianten de stap uitsluiten. Geen bezoek wordt verwacht. Oudere recordings zonder opgeslagen variantselectie behandelen alle stappen als actief. Zie Varianten en variantconfiguratie.
Ontbrekende gegevens alleen bewijzen geen mislukking. Controleer toepasbaarheid, recording status en of de stap een antwoord vereist. Zie Toepasselijke stappen vergelijken met geregistreerde antwoorden.
Versie- en parametercontext
Verbind recording.workinstruction_version_id naar workinstruction_version.id om de versie die aan de recording is gekoppeld te lezen. Gebruik niet de huidige werkinstructie versie om historische stappen te interpreteren. Goedkeuring is een afzonderlijke eigenschap; zie Versiegeschiedenis.
Voor product-order recordings leest u parameters uit product_order.parameters via recording.product_order_id. Andere recording parameters kunnen in recording.parameters staan. Zie Product-order parameters en Introductie tot parameters voor wat een parameter is.
JSON velden kunnen lijsten of geneste objecten bevatten, niet alleen getallen of tekst. Controleer het type van elke waarde voordat u deze converteert. Een SQL NULL geeft ontbrekende gegevens aan, niet nul of een mislukt antwoord.
Conventies die overal worden gebruikt
-
Primaire sleutels. Elke tabel heeft een tekstprimaire sleutel met de naam
id. Dit identificeert een bronrecord of een gegenereerde rij. Gerelateerde kolommen gebruiken namen zoalsrecording_idenworkinstruction_id. Verbind bijvoorbeeldrecording.workinstruction_idnaarworkinstruction.id. -
Verwijderingen. Wanneer een synchronisatie een verwijderde bronrecord detecteert, verwijdert deze de overeenkomstige reporting rijen. Huidige tafeldefiniëringen bevatten geen
deleted_at. Oudere databases kunnen deze kolom behouden omdat schema-updates oude kolommen niet verwijderen. De huidige synchronisatie onderhoudt deze niet; gebruik deze niet als huidige verwijderingsindicator. Gearchiveerde records verschillen van verwijderde records. Bijvoorbeeld,issue.archived_atidentificeert gearchiveerde issues. -
Synchronisatietijdstempels. Elke tabel heeft
first_synced_atenlast_synced_at. Deze registreren de eerste en meest recente synchronisatie die de rij heeft geschreven, niet de aanmaak- of wijzigingstijd van de bronrecord. -
Brontijdstempels. Kolommen zoals
created_at,updated_atenstarted_athangen af van de tabel. PostgreSQL slaat deze tijdstempels op als instanten in UTC en geeft ze weer in de sessietijdzone. -
Recording duren.
recording.actual_durationenrecording.rework_timezijn in seconden en kunnen breuken bevatten. Deel deze niet door 1000. Controleer de kolombeschrijving voor de eenheid van andere velden. -
Flexibele velden gebruiken JSON. Gegevens die in vorm variëren (zoals
parametersof een instructieanswer) worden opgeslagen alsjsonb, die u kunt opvragen met PostgreSQL's JSON operators. -
Vooraf berekende waarden. Om u extra joins te besparen, bevatten sommige tabellen kant-en-klare tellingen en metrische gegevens, bijvoorbeeld
issue.comment_count,issue.open_task_countofrecording.rework_time.
Het ingebouwde gegevenswoordenboek
Elke tabel en elke kolom heeft een voor mensen leesbare beschrijving eraan gekoppeld. De meeste SQL clients en BI tools tonen deze automatisch. Bijvoorbeeld, in psql:
\d+ "company_<your-workspace-id>".issue
U kunt deze ook lezen 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;
Klaar om query's uit te voeren? Zie Voorbeeld Analytics Queries.