Eksport · Microsoft Power BI

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.

Power BI importuje migawkę podczas odświeżania modelu semantycznego. Nie utrzymuje stałego połączenia na żywo z NowMetrix i nie wysyła wartości NowMetrix do Google Analytics.

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.
Power BI Desktop jest aplikacją dla systemu Windows. W przypadku pracy na macOS raport można utworzyć na zarządzanej maszynie wirtualnej z systemem Windows, za pośrednictwem zdalnego środowiska Windows lub z pomocą osoby mającej dostęp do Power BI Desktop. Opublikowane raporty można następnie wyświetlać w przeglądarce internetowej.

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

  1. Zalogować się do NowMetrix.
  2. Otworzyć Ustawienia → API.
  3. Utworzyć nowy klucz o etykiecie Microsoft Power BI.
  4. Niezwłocznie skopiować cały klucz. Jest wyświetlany tylko raz.
  5. 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
Użyć osobnego klucza dla tego raportu. Jeśli plik PBIX lub obszar roboczy Power BI zostanie ujawniony, będzie można unieważnić ten klucz bez przerywania działania integracji z programem Excel, Google Sheets lub innym systemem.

2. Utworzenie pustego zapytania w Power BI Desktop

  1. Otworzyć Power BI Desktop i utworzyć pusty raport.
  2. Wybrać Strona główna → Pobierz dane → Puste zapytanie. Jeśli ta opcja nie jest widoczna, wybrać Pobierz dane → Więcej i wyszukać Puste zapytanie.
  3. Otworzy się Edytor Power Query z nowym zapytaniem.
  4. 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

  1. Usunąć bieżącą zawartość z Edytora zaawansowanego.
  2. Wkleić całe poniższe zapytanie.
  3. Zastąpić nm_YOUR_KEY i TRACKER_ID w dwóch pierwszych wierszach.
  4. Pozostawić obie wartości w cudzysłowach.
  5. 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.

  1. Wybrać Anonimowe.
  2. Zastosować ustawienie do adresu https://api.nowmetrix.com.
  3. Wybrać Połącz.
  4. 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.
Z perspektywy NowMetrix połączenie nie jest anonimowe. Opcja Anonimowe informuje Power BI, aby nie dodawał drugiej metody uwierzytelniania firmy Microsoft; zapytanie już uwierzytelnia połączenie za pomocą klucza API NowMetrix w nagłówku Bearer.

5. Załadowanie i weryfikacja modelu semantycznego

  1. Poczekać, aż podgląd zapytania wyświetli kolumny date, tracker, timezone, pageviews i visits.
  2. Zmienić nazwę zapytania na NowMetrix Daily.
  3. Wybrać Strona główna → Zamknij i zastosuj.
  4. Otworzyć widok Dane i potwierdzić poprawność wierszy oraz typów kolumn.
Kolumna Zalecany typ Power BI
dateData
trackerTekst
timezoneTekst
pageviewsLiczba całkowita
visitsLiczba całkowita

6. Utworzenie pierwszego raportu

Prosty raport pozwala potwierdzić prawidłowe działanie zaimportowanych pól:

  1. Wrócić do widoku Raport.
  2. Dodać wykres liniowy.
  3. Umieścić date na osi X.
  4. Umieścić pageviews i visits na osi Y.
  5. Dodać dwie wizualizacje typu Karta przedstawiające sumy pageviews i visits.
  6. Opcjonalnie dodać tracker jako 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

  1. Zapisać plik PBIX w chronionej lokalizacji.
  2. W Power BI Desktop wybrać Strona główna → Publikuj.
  3. Zalogować się za pomocą firmowego konta Power BI.
  4. Wybrać właściwy obszar roboczy.
  5. Otworzyć opublikowany raport z okna potwierdzenia.
Nie publikować raportu za pomocą publicznego linku internetowego. Publikacja umieszcza zapytanie i zaimportowane dane w środowisku Power BI organizacji. Członkowie obszaru roboczego i właściciele modelu semantycznego muszą być zaufanymi osobami, uprawnionymi do obsługi tych danych i dostępu API.

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

  1. Otworzyć obszar roboczy w Power BI Service.
  2. Odszukać model semantyczny utworzony na podstawie opublikowanego pliku PBIX.
  3. Otworzyć Ustawienia lub wybrać Odśwież → Zaplanuj odświeżanie.
  4. W sekcji Dane logowania do źródła danych edytować dane logowania dla adresu https://api.nowmetrix.com.
  5. Wybrać Anonimowe jako metodę uwierzytelniania oraz poziom prywatności wymagany przez organizację.
  6. Włączyć harmonogram odświeżania i wybrać odpowiednią częstotliwość oraz strefę czasową.
  7. Włączyć powiadomienia o błędach odświeżania dla właściciela modelu semantycznego lub innej odpowiedzialnej osoby.
  8. Zapisać ustawienia, wybrać Odśwież teraz i sprawdzić Historię odświeżania.
NowMetrix jest publicznym źródłem w chmurze HTTPS. Lokalna brama danych zwykle nie jest potrzebna, jeśli Power BI Service może połączyć się z adresem 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.
Jeśli Power BI testuje tylko bazowy adres API i wyświetla opcję Pomiń test połączenia, należy ją włączyć. Sam bazowy adres nie jest kompletnym żądaniem API NowMetrix. Jeśli organizacja wyłącza ręcznie tworzone zapytania internetowe lub zewnętrzne źródła w chmurze, należy poprosić administratora Power BI o sprawdzenie ustawień modelu semantycznego.

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.

  1. W Edytorze Power Query wybrać Strona główna → Zarządzaj parametrami → Nowy parametr.
  2. Utworzyć wymagany parametr typu Tekst o nazwie pNowMetrixApiKey i wprowadzić klucz API jako jego bieżącą wartość.
  3. Utworzyć drugi wymagany parametr typu Tekst o nazwie pNowMetrixTrackerId i wprowadzić identyfikator trackera.
  4. 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
Każdy endpoint zwraca inną strukturę JSON. Skopiowanie przykładu i zmiana tylko właściwości 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ą.
Parametry Power Query są wartościami konfiguracyjnymi, a nie sekretami. Niezależnie od tego, czy klucz jest zapisany bezpośrednio w zapytaniu, czy przekazywany za pomocą parametru, dostęp do pliku PBIX i modelu semantycznego musi pozostać ograniczony.

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ą.