Propojení NNTB statistik s PowerBI
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
- rating: an integer from 1 to 5, where 1 stands for “horrible” and 5 for “great”
- closingReasons: [Resolved, Rejected, Spam, Other] - an array
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í
- 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í
- averageResolutionTime - 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
}
}