Jak používat statistiky v Power BI?

Pomocí nástroje Power Query můžete použít koncový bod pro statistiky v Power BI (nebo v podobných nástrojích).

Předpoklady

Pro komunikaci s rozhraním FaceUp API je třeba získat API klíč a znát region. Postup najdete v tomto návodu.

Získání dat

1. Otevřete Power BI (nebo jiný nástroj s použitím Power Query, jako je Excel) a vytvořte nový prázdný dotaz.

2. Otevřete rozšířený editor.

3. Do okna vložte následující kód.

let
   ContentBody = Json.FromValue([
       query = "query Statistics {
                    publicStatistics(
                        dateFrom: "2024-04-17T01:34:56.000Z"
                    ) {
                        reportCountByMonth
                    }
                }"
   ]),
   Source = Json.Document(Web.Contents("https://www.api.faceup.com/graphql", [Content=ContentBody,Headers=[#"Content-Type"="application/json", #"X-Region"="eu-west-1",authorization="fui_xxxxxxxx-xxxx-xxxx-xxxxxxxxxx"]])),
   data = Source[data],
   publicStatistics = data[publicStatistics]
in
   publicStatistics
 

4. Nahraďte hodnoty X-Region a authorization hodnotami z administrace (viz Předpoklady).

5. Upravte filtry a výsledky podle vašich potřeb. Můžete je později kdykoliv změnit. Klikněte na Hotovo.

6. Klikněte na Upravit přihlašovací údaje.

7. Klikněte na Připojit.

8. Potvrďte tlačítkem Ano.

9. Nyní se budou načítat data.

10. Pokud vše proběhne v pořádku, data se načtou a můžete je dále používat podle potřeby.

Filtry

Můžete filtrovat podle různých polí. Pro filtrování polí je potřeba změnit dotaz v editoru Power Query (viz krok 4 výše). Například následující dotaz používá dva filtry (dateFrom a statuses):

query Statistics {
   publicStatistics(
       dateFrom: "2024-04-18",
       statuses: [Open]
   ) {
       averageViewTimePercentageChange
   }
}

Dostupné filtry a možné hodnoty

Data musíte uvést do uvozovek, ostatní pole píšete bez nich. Hranaté závorky značí pole hodnot. Pole mohou být prázdné nebo obsahovat více hodnot.

  • dateFrom: "2024-04-07T01:34:56Z" - řetězec ve zjednodušeném formátu ISO 8601 YYYY-MM-DDTHH:mm:ssZ, označuje 1 hodinu ráno, 34 minut a 56 sekund 7. dubna 2024 s nulovým posunem od UTC, více informací na https://tc39.es/ecma262/multipage/numbers-and-dates.html#sec-date-time-string-format 
  • dateTo: "2024-04-17" - viz dateFrom
  • statuses: [Archived, Closed, Open] - pole hodnot
  • creationOrigins: [Member, Redaction, Reporter] - pole hodnot
  • deadline: Later - jedna hodnota z Later, Overdue, Soon, Today
  • justifications: [Justified, Unjustified, Unknown] - pole hodnot
  • priorities: [Low, Medium, High, Urgent] - pole hodnot
  • sources: [Email, Hotline, InPerson, Other, Phone, ReportingSystem] - pole hodnot
  • tag: "2afg4" - řetězec

Struktura odpovědi

Odpověď může obsahovat následující pole:

  • openReportsCount - počet otevřených oznámení 
  • archivedReportsCount - počet archivovaných oznámení
  • closedReportsCount - počet vyřešených oznámení
  • overdueReportsCount - počet oznámení po termínu (s vypršenou lhůtou)
  • reportsCount - počet všech oznámení
  • Below _previous period_ se rozumí stejné období jako dateFrom po dateTo před dateFrom (např. pokud pro filtrování zadáte dva týdny, předchozí období také bude dva týdny). Tato pole jsou nulová, pokud není zadáno dateFrom.
  • averageViewTimePercentageChange - změna průměrného času zobrazení oproti předchozímu období
  • averageResolutionTimeChange - změna průměrného času vyřešení oproti předchozímu období
  • reportsCountChange - změna počtu oznámení oproti předchozímu období
  • averageResolutionTimeHours - průměrný čas řešení v hodinách
  • averageViewTimeHours - průměrný čas zobrazení v hodinách
  • reportCountByMonth - vrací pole objektů s měsícem a reportCount, každý objekt reprezentuje jeden měsíc s počtem oznámení za tento měsíc
  • reportsBullyingTypeByMonth - vrací objekt, kde každý klíč je měsíc a hodnota je objekt, kde každý klíč je název kategorie a hodnota je počet oznámení
  • reportsByAssignee - vrací objekt, kde každý klíč je jméno člena a hodnota je počet oznámení, která má přiřazená
  • reportsByChannel - vrací objekt, kde klíčem je název kanálu a hodnotou je počet oznámení v tomto kanálu
  • reportsByCompany - vrací objekt, kde klíčem je název organizační jednotky a hodnotou je počet oznámení v této jednotce
  • reportsByLabel - vrací objekt, kde klíčem je název štítku a hodnotou je počet oznámení označených tímto štítkem
  • reportsByProblems - vrací objekt, kde klíčem je název kategorie a hodnotou je počet oznámení v této kategorii
  • reportsBySource - vrací objekt, kde klíčem je zdroj a hodnotou je počet oznámení z tohoto zdroje
  • reportsByStatus - vrací objekt, kde klíčem je stav a hodnotou je počet oznámení v tomto stavu

Například následující dotaz nepoužívá žádný filtr a vrací dvě hodnoty:

query Statistics {
   publicStatistics {
       openReportsCount
       reportsCount
   }
}