Tworzenie raportów Power BI z danymi NowMetrix
Importowanie danych NowMetrix za pomocą Power Query, tworzenie pierwszego raportu w Power BI Desktop oraz publikowanie modelu semantycznego w celu kontrolowanego udostępniania i planowanych aktualizacji.
Jak działa połączenie
Połączenie składa się z dwóch opcjonalnych etapów:
NowMetrix REST API → Power Query → Power BI Desktop → optional Power BI Service
- Power BI Desktop tworzy zapytanie, model danych i raport.
- Power BI Service publikuje raport, aby można było korzystać z niego w przeglądarce, udostępniać go i planować jego odświeżanie.
Przygotowany przykład importuje 30 ostatnich dostępnych wierszy dziennych z endpointu /v1/overview.
Każdy wiersz zawiera datę, tracker, strefę czasową trackera, liczbę odsłon i wizyt.
Przed rozpoczęciem
Potrzebne są:
- konto NowMetrix z dostępem do REST API,
- dostęp do trackera, którego ma dotyczyć raport,
- Microsoft Power BI Desktop do utworzenia raportu oraz
- odpowiednie konto i obszar roboczy Power BI, jeśli raport ma zostać opublikowany lub ma być odświeżany zgodnie z harmonogramem.
Licencjonowanie Power BI, uprawnienia do obszaru roboczego i dostępne częstotliwości odświeżania są zarządzane przez firmę Microsoft oraz administratora organizacji. Konfigurację w Power BI Desktop można ukończyć bez publikowania raportu.
1. Utworzenie dedykowanego klucza API
- Zalogować się do NowMetrix.
- Otworzyć Ustawienia → API.
- Utworzyć nowy klucz o etykiecie Microsoft Power BI.
- Niezwłocznie skopiować cały klucz. Jest wyświetlany tylko raz.
- Zapisać identyfikator trackera witryny, z której dane mają zostać zaimportowane.
| Symbol zastępczy | Zastąpić wartością | Przykład |
|---|---|---|
nm_YOUR_KEY |
Pełny klucz API NowMetrix | nm_… |
TRACKER_ID |
Identyfikator importowanego trackera | news-example-com |
2. Utworzenie pustego zapytania w Power BI Desktop
- Otworzyć Power BI Desktop i utworzyć pusty raport.
- Wybrać Strona główna → Pobierz dane → Puste zapytanie. Jeśli ta opcja nie jest widoczna, wybrać Pobierz dane → Więcej i wyszukać Puste zapytanie.
- Otworzy się Edytor Power Query z nowym zapytaniem.
- Wybrać Strona główna → Edytor zaawansowany.
W tym przykładzie nie należy wybierać podstawowego okna dialogowego Web. Edytor zaawansowany jest potrzebny, ponieważ NowMetrix wymaga nagłówka autoryzacji Bearer, a odpowiedź musi zostać przekształcona z formatu JSON na wiersze tabeli.
3. Wklejenie przygotowanego zapytania Power Query
- Usunąć bieżącą zawartość z Edytora zaawansowanego.
- Wkleić całe poniższe zapytanie.
- Zastąpić
nm_YOUR_KEYiTRACKER_IDw dwóch pierwszych wierszach. - Pozostawić obie wartości w cudzysłowach.
- Wybrać Gotowe.
let
ApiKey = "nm_YOUR_KEY",
TrackerId = "TRACKER_ID",
Response = Json.Document(
Web.Contents(
"https://api.nowmetrix.com",
[
RelativePath = "v1/overview",
Query = [
site = TrackerId,
days = "30"
],
Headers = [
Authorization = "Bearer " & ApiKey,
Accept = "application/json"
],
Timeout = #duration(0, 0, 0, 30)
]
)
),
DailyRows = if List.IsEmpty(Response[daily]) then
#table(type table [date = text, pageviews = Int64.Type, visits = Int64.Type], {})
else
Table.FromRecords(Response[daily]),
AddTracker = Table.AddColumn(
DailyRows,
"tracker",
each Response[site],
type text
),
AddTimezone = Table.AddColumn(
AddTracker,
"timezone",
each Response[timezone],
type text
),
ReorderedColumns = Table.ReorderColumns(
AddTimezone,
{"date", "tracker", "timezone", "pageviews", "visits"}
),
TypedColumns = Table.TransformColumnTypes(
ReorderedColumns,
{
{"date", type date},
{"tracker", type text},
{"timezone", type text},
{"pageviews", Int64.Type},
{"visits", Int64.Type}
}
)
in
TypedColumns
Zapytanie korzysta ze stałego bazowego adresu URL oraz właściwości RelativePath
i Query. Dzięki temu źródło pozostaje przewidywalne podczas kolejnych odświeżeń,
a klucz API jest przesyłany wyłącznie w nagłówku HTTPS Authorization.
4. Potwierdzenie danych logowania do źródła danych
Power BI może zapytać, jak ma łączyć się z adresem https://api.nowmetrix.com.
- Wybrać Anonimowe.
- Zastosować ustawienie do adresu
https://api.nowmetrix.com. - Wybrać Połącz.
- Jeśli pojawi się prośba o określenie poziomu prywatności, wybrać poziom wymagany przez organizację. Prywatne zapewnia najbardziej rygorystyczne oddzielenie od innych źródeł danych.
5. Załadowanie i weryfikacja modelu semantycznego
- Poczekać, aż podgląd zapytania wyświetli kolumny
date,tracker,timezone,pageviewsivisits. - Zmienić nazwę zapytania na NowMetrix Daily.
- Wybrać Strona główna → Zamknij i zastosuj.
- Otworzyć widok Dane i potwierdzić poprawność wierszy oraz typów kolumn.
| Kolumna | Zalecany typ Power BI |
|---|---|
date | Data |
tracker | Tekst |
timezone | Tekst |
pageviews | Liczba całkowita |
visits | Liczba całkowita |
6. Utworzenie pierwszego raportu
Prosty raport pozwala potwierdzić prawidłowe działanie zaimportowanych pól:
- Wrócić do widoku Raport.
- Dodać wykres liniowy.
- Umieścić
datena osi X. - Umieścić
pageviewsivisitsna osi Y. - Dodać dwie wizualizacje typu Karta przedstawiające sumy
pageviewsivisits. - Opcjonalnie dodać
trackerjako fragmentator, gdy model będzie zawierał wiele trackerów.
Wybrać Strona główna → Odśwież, aby przetestować pełne odświeżanie w Power BI Desktop. Istniejące wizualizacje zostaną zaktualizowane po zakończeniu zapytania.
7. Publikowanie w Power BI Service
- Zapisać plik PBIX w chronionej lokalizacji.
- W Power BI Desktop wybrać Strona główna → Publikuj.
- Zalogować się za pomocą firmowego konta Power BI.
- Wybrać właściwy obszar roboczy.
- Otworzyć opublikowany raport z okna potwierdzenia.
Publikacja tworzy raport i powiązany z nim model semantyczny. Planowane odświeżanie konfiguruje się dla modelu semantycznego, a nie dla pojedynczego wykresu ani strony raportu.
8. Konfiguracja planowanego odświeżania
- Otworzyć obszar roboczy w Power BI Service.
- Odszukać model semantyczny utworzony na podstawie opublikowanego pliku PBIX.
- Otworzyć Ustawienia lub wybrać Odśwież → Zaplanuj odświeżanie.
- W sekcji Dane logowania do źródła danych edytować dane logowania dla adresu
https://api.nowmetrix.com. - Wybrać Anonimowe jako metodę uwierzytelniania oraz poziom prywatności wymagany przez organizację.
- Włączyć harmonogram odświeżania i wybrać odpowiednią częstotliwość oraz strefę czasową.
- Włączyć powiadomienia o błędach odświeżania dla właściciela modelu semantycznego lub innej odpowiedzialnej osoby.
- Zapisać ustawienia, wybrać Odśwież teraz i sprawdzić Historię odświeżania.
api.nowmetrix.com. Zapytanie celowo
korzysta z właściwości RelativePath i Query, które są obsługiwanymi wyjątkami
dla odświeżanych zapytań internetowych ze zmiennymi parametrami.
Dostępne częstotliwości odświeżania zależą od licencji Power BI i pojemności obszaru roboczego. Firma Microsoft opisuje aktualne opcje, limity, sposób postępowania w razie błędów i historię odświeżania w przewodniku po planowanym odświeżaniu.
Opcjonalnie: konfiguracja klucza i trackera
Parametry Power Query ułatwiają zmianę trackera lub wymianę klucza bez edytowania całego zapytania. Zwiększają łatwość utrzymania, ale nie są magazynem sekretów.
- W Edytorze Power Query wybrać Strona główna → Zarządzaj parametrami → Nowy parametr.
- Utworzyć wymagany parametr typu Tekst o nazwie
pNowMetrixApiKeyi wprowadzić klucz API jako jego bieżącą wartość. - Utworzyć drugi wymagany parametr typu Tekst o nazwie
pNowMetrixTrackerIdi wprowadzić identyfikator trackera. - Zastąpić dwa pierwsze wiersze zapytania poniższymi wierszami.
ApiKey = pNowMetrixApiKey,
TrackerId = pNowMetrixTrackerId,
Po publikacji edytowalne parametry mogą być dostępne w ustawieniach modelu semantycznego. Dostęp do obszaru roboczego nadal musi być ograniczony, ponieważ osoby z odpowiednimi uprawnieniami mogą je wyświetlać lub zmieniać.
Dodawanie innych zbiorów danych NowMetrix
Dla każdego zbioru danych utworzyć osobne zapytanie Power Query i w razie potrzeby zastosować relacje w modelu:
| Zastosowanie | Endpoint | Uwagi dotyczące modelowania |
|---|---|---|
| Dzienne odsłony i wizyty | /v1/overview |
Jeden wiersz dla trackera i daty |
| Najpopularniejsze strony za zakończony okres | /v1/recap |
Zapisywać żądany zakres wraz z każdym zaimportowanym wynikiem |
| Bieżące artykuły na żywo | /v1/realtime |
Odświeżenie zastępuje migawkę, chyba że zostanie utworzony osobny magazyn historii |
| Bieżące źródła | /v1/sources |
Przy łączeniu migawek używać znacznika czasu odpowiedzi |
| Problemy wykryte podczas korekty tekstu | /v1/proofreading |
Ograniczyć dostęp do raportu do właściwego zespołu redakcyjnego |
RelativePath nie przekształci poprawnie nowej odpowiedzi. Dostosować kroki po
Response, korzystając z udokumentowanego przykładu odpowiedzi danego endpointu.
Lista kontrolna bezpieczeństwa i udostępniania
- Używać osobnego klucza API NowMetrix dla każdego modelu semantycznego Power BI.
- Przyznawać użytkownikowi NowMetrix wyłącznie dostęp do trackerów wymaganych przez raport.
- Przechowywać plik PBIX w chronionej lokalizacji i nigdy nie publikować go jako publicznego pliku do pobrania.
- Traktować osoby edytujące pliki PBIX i właścicieli modeli semantycznych jako zaufanych użytkowników, którzy mogą sprawdzać zapytanie.
- Nie umieszczać klucza w wizualizacjach, filtrach raportu, adresach URL, zrzutach ekranu ani dokumentacji.
- Używać najmniejszego grona odbiorców obszaru roboczego Power BI, które spełnia wymagania raportu.
- Przed udostępnieniem sprawdzić uprawnienia do raportu, obszaru roboczego, aplikacji, tworzenia zawartości, ponownego udostępniania i pobierania.
- Niezwłocznie unieważnić klucz, jeśli istnieje ryzyko przejęcia pliku PBIX, obszaru roboczego lub konta właściciela.
- Po zmianie właściciela potwierdzić, że dane logowania do odświeżania i powiadomienia o błędach nadal działają.
Rozwiązywanie problemów
| Problem | Co sprawdzić |
|---|---|
| Power BI ciągle prosi o dane logowania | W sekcji Plik → Opcje i ustawienia → Ustawienia źródeł danych wyczyścić uprawnienia dla adresu https://api.nowmetrix.com, ponownie nawiązać połączenie i wybrać Anonimowe. |
401 lub „dostęp do zasobu jest zabroniony” |
Sprawdzić, czy nm_YOUR_KEY zastąpiono pełnym kluczem, który nie zawiera spacji i nie został unieważniony. |
403 |
Klucz nie może uzyskać dostępu do skonfigurowanego trackera. Sprawdzić TRACKER_ID oraz uprawnienia użytkownika NowMetrix do trackerów. |
429 |
Przekroczono limit API dla trackera. Odczekać i zmniejszyć częstotliwość odświeżania planowanego lub ręcznego. |
503 |
Zaplecze analityczne jest tymczasowo niedostępne. Zachować istniejący model semantyczny i ponowić próbę później. |
| Odświeżanie w Power BI Desktop działa, ale odświeżanie w Power BI Service kończy się błędem | Sprawdzić dane logowania do źródła danych modelu semantycznego, właściciela, poziom prywatności, historię odświeżania oraz to, czy administrator nie blokuje źródeł internetowych w chmurze lub ręcznie tworzonych zapytań. |
| Power BI zgłasza dynamiczne źródło danych | Potwierdzić, że zapytanie nadal używa stałego adresu bazowego https://api.nowmetrix.com wraz z właściwościami RelativePath i Query. Nie tworzyć pełnego adresu URL przez konkatenację tekstu. |
| Planowane odświeżanie jest wyłączone | Otworzyć historię odświeżania, rozwiązać problem z najnowszym błędem, zweryfikować dane logowania i ponownie włączyć harmonogram. Power BI może wstrzymać harmonogram po wielokrotnych błędach lub okresie nieaktywności. |
| Nieoczekiwanie pojawia się konfiguracja bramy | Potwierdzić, że Power BI klasyfikuje źródło jako dostępne źródło internetowe w chmurze. Poprosić administratora obszaru roboczego o sprawdzenie ustawień bramy i połączenia z chmurą. |