Hoppa till huvudinnehåll

CSV-rapporter

Report Generator är ett verktyg som låter dig ta emot anpassade rapporter om din data via e-post.

Användning​

Du kan definiera en rapport som en Action i Rule Engine UI. Det finns två sätt att definiera en rapport.

Metod 1: Enstaka objekt med enhetsräkning​

Du kan definiera en rapport med hjälp av ett enskilt objekt som anger en typ av mätning och sätter det booleska värdet deviceCount till true. Detta genererar en särskild rapport som listar alla iotnodes som ägs av användaren, primärt avsedd för faktureringssyften.

Exempel:

[
{
"measurement": "deviceCount",
"deviceCount": true,
"startTime": "2019-01-01T00:00:00.000Z", // optional
"endTime": "2019-01-31T00:00:00.000Z" // optional
}
]

Metod 2: Enstaka objekt med Query​

Du kan definiera en rapport med hjälp av ett enskilt objekt som anger både en typ av mätning och en query.
Denna metod är användbar för att generera rapporter som inkluderar:

  • Alla iotnodes som ägs av användaren, eller
  • Specifika noder filtrerade på enhetsmodellnamn eller ID.

När rapporten genereras skickas ett e-postmeddelande med en bifogad CSV-fil.

CSV-format​

Formatet på CSV-filen beror på vilka nycklar du anger:

  • "csv-column": true → Datan struktureras som en kolumn.
  • "csv-table": true → Datan struktureras som en tabell.
  • Om ingen är satt är standardformatet en tabell.

Filnamn​

  • Ange "fileName" som en sträng för att definiera utfilens namn.
  • Om det inte anges kommer filen att heta report.csv som standard.

Sluttid​

  • Ange "endTime" till ett specifikt värde för att låsa rapportens sluttid.
  • Om det inte anges används aktuell tid som sluttid som standard.

Exempel:

[
{
"query": "all",
"csv-column": true,
"measurement": "temperature",
"duration": "3M",
"distance": "1M",
"endTime": "2019-01-31T00:00:00.000Z",
"fileName": "myReport.csv"
}
]
[
{
"query": {
"deviceModelName": "myDeviceModelName"
},
"csv-column": true,
"measurement": "temperature",
"duration": "3M",
"distance": "1M",
"fileName": "myReport.csv"
}
]
[
{
"query": {
"_id": "63a2d11212169cf61ae14385"
},
"csv-table": true,
"measurement": "temperature",
"duration": "3M",
"distance": "1M"
}
]

Alla metoder - Rapportstruktur​

En rapport definieras som en array av objekt, där varje objekt innehåller information om en specifik rapport:

  • Measurement: En sträng som beskriver typen av mätning som utförs (t.ex. "temperature").
  • Duration: En sträng som anger tidsperioden mätningarna görs över för hela rapporten. Format: "värde"+"enhet", där värde är ett nummer och enhet kan vara:
    • "s" = sekunder
    • "m" = minuter
    • "h" = timmar
    • "d" = dagar
    • "w" = veckor
    • "M" = månader
    • "y" = år
  • Distance (valfritt): En sträng som anger tidsintervallet mellan mätningarna. Formatet är detsamma som Duration.
Metod 1 Enhetsräkning - Tillåtna egenskaper​
  • Measurement: För närvarande stöds endast "deviceCount" för att generera en specialrapport som listar alla iotnodes som ägs av användaren.
  • deviceCount: Ett booleskt värde som måste vara true om mätningen är "deviceCount".
Metod 2 Enstaka objekt med Query - Ytterligare egenskaper​
  • Query: En sträng eller ett objekt som anger vilka noder som ska ingå i rapporten. Alternativen är:
    • "all": Inkluderar alla iotnodes som ägs av användaren (query: "all").
    • "query.deviceModelName": Inkluderar noder med ett specifikt enhetsmodellnamn (query: { deviceModelName: "myDeviceModelName" }).
    • "query._id": Inkluderar noder med ett specifikt enhets-ID (query: { _id: "63a2d11212169cf61ae14385" }).

Observera: Egenskaperna ovan är specifika för respektive metod. Inte alla egenskaper gäller för varje metod för att definiera en rapport.