Hoppa till huvudinnehåll

Rapporter

Reports Model är en kraftfull Node.js-modul utformad för att effektivisera hanteringen av rapporter inom din applikation. Den erbjuder ett robust ramverk för att skapa, uppdatera, schemalägga och generera rapporter. I denna dokumentation kommer vi att guida dig genom de viktigaste funktionerna i Reports Model med hjälp av de angivna ändpunkterna.

ReportBase

Genom vårt REST-api kan du skicka förfrågningar som att skapa/uppdatera/hämta/radera reportbases och reportschedules. Denna dokumentation är utformad för att komplettera vår swagger-dokumentation och URL:en är staging.yggio.net/api/report-bases/ och staging.yggio.net/api/report-schedules/. Det rekommenderas att använda vårt interaktiva API https://staging.yggio.net/swagger för detta.

Dessa ändpunkter ger omfattande kontroll över dina rapporter inom Reports Model. Använd dem för att skapa, modifiera och schemalägga dina rapporter, vilket säkerställer effektiv hantering och automatisering av dina rapporteringsprocesser.

Skapa en Report Base

För att skapa en ny Report Base, utför en POST-förfrågan till /report-bases-ändpunkten med följande JSON-payload i request body:

  • HTTP Method: POST

  • Endpoint: /report-bases

  • Function: Skapar en ReportBase

{
"name": "Test Report",
"description": "test desc",
"fileName": "Standard-Template",
"secondsBetweenPoints": 3600,
"type": "timeseries",
"sources": [
{
"valueFunction": "sum",
"query": "contextMap.Asset Type:Pickup Point",
"includeOnly": ["value_arrivals", "value_departures"]
"queryParameters": [
{
"field": "contextMap.City",
"name": "City",
"options": [
"Copenhagen",
"Stockholm",
"Berlin"
],
"isRequired": true
}
],
"fields": [
{
"name": "value_arrivals",
"prettyName": "Arrival"
},
{
"name": "value_departures",
"prettyName": "Departure"
}
]
}
]
}

I detta exempel utför vi en POST-förfrågan för att skapa en Report Base. Request body innehåller konfigurationen för Report Base. Här är en förklaring av JSON-attributen:

  • name: Namnet på report base, i detta fall "Test Report."
  • description: En valfri beskrivning för report base, satt till "test desc."
  • fileName: Namnet på den mallade filen i vår OneDrive, "Standard-Template" i detta fall.
  • secondsBetweenPoints: Intervallet (i sekunder) mellan datapunkter i rapporten, satt till 3600 sekunder (1 timme).
  • sources: En array av datakällor som används för att hämta och bearbeta data för rapporten. I detta exempel inkluderar det en enda datakälla:
    • valueFunction: Funktionen som används för att bearbeta data, satt till "sum."
    • query: Frågan för att filtrera data, i detta fall "contextMap.Asset Type:Pickup Point."
    • includeOnly: En valfri array av fält att inkludera i rapporten, satt till "value_arrivals" och "value_departures."
    • queryParameters: Valfria frågeparametrar. Se avsnittet nedan för mer info. Är en array med objekt med följande fält:
      • field: Sökvägen till fältet i enheten.
      • name: Vad som visas för användaren ovanför inmatningen.
      • options: Om du vill att användaren ska välja från en lista med alternativ, anges dessa här. Är en array av strängar.
      • isRequired: Om användaren måste inkludera det eller inte.
    • fields: En array av fält att inkludera i rapporten, var och en med följande attribut:
      • name: Fältnamnet, såsom "value_arrivals" och "value_departures."
      • prettyName: Ett användarvänligt visningsnamn för fältet, som "Arrival" och "Departure."
      • dataType: Datatypen för fältet, satt till "float" i båda fallen.

Denna JSON-payload skickas i bodien av POST-förfrågan för att skapa en ny Report Base med den angivna konfigurationen.

Frågeparametrar

Frågeparametrar är ytterligare parametrar som läggs till i frågan. Frågeparametrarna anges i rapportbasen och användaren kan sedan inkludera värden genom att generera rapporten. Till exempel, om du vill filtrera efter en specifik stad kan du lägga till en frågeparameter med fältet contextMap.City. Användaren kommer sedan att kunna välja från en lista med alternativ, och frågan kommer att uppdateras för att inkludera den valda staden.

Uppdatera en Rapportbas

Om du behöver ändra en befintlig Rapportbas, använd följande slutpunkt:

  • HTTP-metod: PUT

  • Slutpunkt: /rapportbaser/:rapportbasId

  • Funktion: Uppdaterar en rapportbas

Denna slutpunkt gör det möjligt för dig att ändra konfigurationen för din rapportbas och uppdatera inställningarna för rapportgenerering.

Ta bort en Rapportbas

För att ta bort en Rapportbas kan du använda följande slutpunkt:

  • HTTP-metod: DELETE

  • Slutpunkt: /rapportbaser/:rapportbasId

  • Funktion: Tar bort en rapportbas

Denna åtgärd tar bort konfigurationen för rapportbasen och stoppar den associerade rapportgenereringen.

Hämta en Rapportbas

För att hämta detaljerna för en specifik Rapportbas kan du använda följande slutpunkt:

  • HTTP-metod: GET

  • Slutpunkt: /rapportbaser/:rapportbasId

  • Funktion: Hämtar en rapportbas

Detta låter dig hämta konfigurationen för rapportbasen och kontrollera rapportgenereringsstatusen för en specifik Rapportbas.

Generera en Rapportbas

För att generera en specifik Rapportbas kan du använda följande slutpunkt med följande JSON-payload i förfrågningskroppen:

  • HTTP-metod: POST

  • Slutpunkt: /rapportbaser/:rapportbasId/generera

  • Funktion: Genererar en rapportbas

{
startTime: 1697016949000, // Unix timestamp in milliseconds
endTime: 1697016949000 // Unix timestamp in milliseconds
}

RapportSchema

Skapa ett Rapportschema

För att skapa ett nytt Rapportschema, använd följande slutpunkt:

  • HTTP-metod: POST

  • Slutpunkt: /rapport-scheman

  • Funktion: Skapar ett rapportschema

{
"reportBaseId": "associated-report-base-id",
"name": "Schedule Name",
"interval": "daily", // Alternativ: "monthly", "weekly", "daily" - Hur ofta rapporten ska genereras och skickas
"duration": "week", // Alternativ: "month", "week", "day", eller ett nummer - Hur långt tillbaka i tiden datan sträcker sig
"email": {
"to": "<Kontakt-ID>", // ID från en kontakt i databasen
"cc": "cc@example.com", // Valfritt
"title": "Rapportens titel",
"message": "Ytterligare meddelandetext" // Valfritt
}
}

I denna JSON-begäran tillhandahåller du konfigurationen för ett nytt Rapportschema baserat på den angivna schemat. Här är en förklaring av attributen:

  • reportBaseId: ID för den associerade rapportbasen.
  • name: Ett namn för Rapportschemat.
  • interval: Specificerar hur ofta rapporten ska genereras och skickas. Alternativen är "månadsvis," "veckovis," eller "dagligen."
  • duration: Definierar hur långt tillbaka i tiden datan ska täcka. Alternativen inkluderar "månad," "vecka," "dag," eller så kan du specificera ett nummer.
  • email: E-postkonfiguration för att skicka rapporten, inklusive:
    • to: ID från en kontakt i databasen.
    • cc: En valfri e-postadress för kopia.
    • title: Titeln på rapporten i e-posten.
    • message: Ett valfritt ytterligare meddelande att inkludera i e-posten.

Denna JSON-payload skickas i kroppen av POST-begäran för att skapa ett nytt Rapportschema med den angivna konfigurationen. Använd den här funktionen för att automatisera rapportgenerering och leverans enligt önskat schema.

Uppdatera ett Rapportschema

Om du behöver modifiera ett befintligt Rapportschema, använd följande ändpunkt:

  • HTTP-metod: PUT

  • Ändpunkt: /rapportscheman/:rapportschematId

  • Funktion: Uppdaterar ett rapportschema

Denna ändpunkt möjliggör ändring av schemaparametrarna och uppdatering av inställningarna för automatiserad rapportgenerering.

Ta bort ett Rapportschema

För att ta bort ett Rapportschema kan du använda följande ändpunkt:

  • HTTP-metod: DELETE

  • Ändpunkt: /rapportscheman/:rapportschematId

  • Funktion: Tar bort ett rapportschema

Denna åtgärd tar bort schemaparametrarna och stoppar den automatiserade rapportgenereringen som är kopplad till ett specifikt Rapportschema.

Hämta ett Rapportschema

För att hämta detaljerna för ett specifikt Rapportschema, använd följande ändpunkt:

  • HTTP-metod: GET

  • Ändpunkt: /rapportscheman/:rapportschematId

  • Funktion: Hämtar ett rapportschema

Detta låter dig hämta schemaparametrarna och kontrollera statusen för den automatiserade rapportgenereringen för ett specifikt Rapportschema.

Generera en rapport

Att generera en rapport med hjälp av Rapportsmodellen är en enkel process. I den här guiden förklarar vi hur du genererar en rapport med hjälp av en Rapportbas.

Steg 1: Öppna Rapporter-sektionen

  1. Navigera till "Rapporter"-sektionen i användargränssnittet Alt text

Steg 2: Välj en Rapportbas

  1. Inom "Rapporter"-sektionen ser du en lista över alla Rapportbaser som du har skapat. Klicka på Rapportbasen för vilken du vill generera en rapport. Alt text

Steg 3: Välj Din Vy

  1. När du har öppnat en specifik Rapportbas har du tre tillgängliga vyer: Alt text

    • Generera: I denna vy kan du välja start- och sluttid för din rapport. Efter att ha valt tidsramen klickar du på knappen "Generera". Efter en kort bearbetningstid kommer du att presenteras med en förhandsgranskning av den genererade rapporten. Du kan sedan ladda ner Excel-filen med en enkel klick. Alt text Alt text

    • Schema: Denna vy låter dig skapa ett Rapportschema som är associerat med den nuvarande Rapportbasen. I grund och botten är detta liknande att utföra en POST /rapportscheman-åtgärd programmatiskt. Alt text

    • Avancerad Info: I denna vy kan du få åtkomst till JSON-representationen av den nuvarande Rapportbasen, vilket ger dig detaljerad information om dess konfiguration. Alt text

Genom att följa dessa steg kan du enkelt generera rapporter baserade på dina Rapportbas-konfigurationer. Njut av effektiviserad rapportering och dataanalys med Rapportsmodellen!