PowerApps i dane – jak zintegrować aplikację z SharePointem, Excel Online i SQL Server
Dowiedz się, jak zintegrować PowerApps z SharePoint, Excel Online i SQL Server, by tworzyć wydajne aplikacje oparte na różnych źródłach danych.
Artykuł przeznaczony dla osób tworzących aplikacje biznesowe w PowerApps (low-code), takich jak analitycy biznesowi, specjaliści Microsoft 365 oraz początkujący twórcy aplikacji, którzy chcą integrować je z SharePoint, Excel Online i SQL Server.
Z tego artykułu dowiesz się
- Jakie są różnice między SharePoint, Excel Online i SQL Server jako źródłami danych w PowerApps i kiedy które wybrać?
- Jak krok po kroku skonfigurować połączenia PowerApps z SharePoint, Excel Online oraz SQL Server i jakie dobre praktyki stosować?
- Na czym polega delegacja zapytań w PowerApps, jakie niesie ograniczenia i jak rozwiązywać typowe problemy integracji danych?
Wprowadzenie do integracji PowerApps z zewnętrznymi źródłami danych
Microsoft PowerApps to platforma typu low-code, która umożliwia tworzenie aplikacji biznesowych działających w przeglądarce lub na urządzeniach mobilnych. Jedną z najważniejszych cech PowerApps jest możliwość integracji z różnorodnymi zewnętrznymi źródłami danych, dzięki czemu aplikacje mogą dynamicznie reagować na potrzeby użytkowników i procesów w organizacji.
Wbudowana integracja z popularnymi usługami, takimi jak SharePoint, Excel Online czy SQL Server, pozwala na budowanie rozwiązań opartych na istniejących zasobach organizacji. Dzięki temu możliwe jest tworzenie aplikacji, które nie tylko prezentują dane, ale również umożliwiają ich edycję, filtrowanie czy zatwierdzanie w sposób zgodny z logiką biznesową.
Każde ze źródeł danych ma swoje specyficzne zastosowania i cechy:
- SharePoint – często wykorzystywany do przechowywania danych w listach i bibliotekach dokumentów, idealnie nadaje się do aplikacji wspierających zarządzanie treścią i współpracę zespołową.
- Excel Online – umożliwia szybkie prototypowanie i pracę z danymi w znanym formacie arkusza kalkulacyjnego, szczególnie przydatny w prostszych scenariuszach roboczych.
- SQL Server – zapewnia większą skalowalność, wydajność i zaawansowane możliwości zarządzania danymi, dzięki czemu jest preferowany w bardziej złożonych systemach biznesowych.
Integracja PowerApps z tymi źródłami danych otwiera szerokie możliwości tworzenia nowoczesnych aplikacji biznesowych, które zwiększają efektywność pracy, automatyzują procesy i wspierają podejmowanie decyzji opartych na danych.
Przegląd obsługiwanych źródeł danych: SharePoint, Excel Online, SQL Server
PowerApps oferuje szerokie możliwości integracji z różnorodnymi źródłami danych, co pozwala na tworzenie dynamicznych aplikacji biznesowych wspierających procesy w organizacjach. Wśród najczęściej wykorzystywanych źródeł danych znajdują się SharePoint, Excel Online oraz SQL Server. Każde z tych źródeł ma swoją specyfikę, zalety i typowe scenariusze zastosowania. W Cognity obserwujemy rosnące zainteresowanie tym zagadnieniem – zarówno na szkoleniach otwartych, jak i zamkniętych.
SharePoint jest popularnym wyborem do przechowywania danych w formie list, które mogą pełnić funkcję prostych baz danych. Dzięki ścisłej integracji z Microsoft 365, SharePoint pozwala szybko tworzyć aplikacje oparte na danych organizacyjnych, takich jak rejestry dokumentów, zgłoszenia czy formularze zgody.
Excel Online stanowi dobre rozwiązanie dla mniej złożonych scenariuszy, gdzie dane są przechowywane w arkuszu kalkulacyjnym dostępnym w chmurze. Jest często stosowany w mniejszych zespołach lub tam, gdzie dane już istnieją w postaci plików Excela i nie ma potrzeby ich migracji do bardziej zaawansowanego systemu.
SQL Server z kolei zapewnia najwyższą elastyczność, skalowalność i kontrolę nad strukturą danych. Jest preferowanym wyborem dla bardziej złożonych aplikacji, które wymagają relacyjnych baz danych, zaawansowanego filtrowania, dużych wolumenów danych oraz wysokiego poziomu bezpieczeństwa i integralności.
Dobór odpowiedniego źródła danych w PowerApps zależy w dużej mierze od potrzeb organizacji, złożoności aplikacji oraz wymagań dotyczących zarządzania i dostępu do informacji.
Tworzenie połączenia z SharePoint i wykorzystanie danych w aplikacji
PowerApps umożliwia szybkie i intuicyjne tworzenie aplikacji, które bezpośrednio współpracują z danymi przechowywanymi w SharePoint Online. Integracja ta pozwala na tworzenie formularzy, przeglądanie list, aktualizację danych czy inicjowanie procesów biznesowych bez konieczności pisania kodu.
Podstawowym krokiem integracji PowerApps z SharePointem jest utworzenie połączenia do odpowiedniej listy lub biblioteki dokumentów. PowerApps wykorzystuje tzw. konektory, które umożliwiają komunikację między aplikacją a źródłem danych. W przypadku SharePointa konektor obsługuje zarówno odczyt, jak i zapis danych.
Jak dodać połączenie z SharePoint:
- W PowerApps przejdź do zakładki Data (Dane).
- Kliknij Add data (Dodaj dane), a następnie wybierz SharePoint z listy dostępnych konektorów.
- Podaj adres witryny SharePoint i wybierz listy, które chcesz zintegrować z aplikacją.
Po pomyślnym dodaniu połączenia, tabele danych z SharePointa dostępne są jako źródła danych, które można powiązać z kontrolkami formularzy, galeriami czy przyciskami. Przykładowo, wyświetlenie listy pracowników z SharePointa można zrealizować za pomocą kontrolki galerii z przypisanym źródłem danych:
Items = EmployeesList
SharePoint doskonale sprawdza się jako źródło danych dla aplikacji o charakterze formularzy – np. wniosków urlopowych, zgłoszeń serwisowych czy rejestrów projektów. Jego zastosowanie jest szczególnie efektywne w środowiskach Microsoft 365, gdzie SharePoint jest naturalnym komponentem ekosystemu. Jeśli chcesz nauczyć się, jak samodzielnie budować tego typu rozwiązania, sprawdź Kurs Microsoft PowerApps podstawowy - tworzenie aplikacji, projektowanie i automatyzowanie procesów biznesowych.
SharePoint – najczęstsze zastosowania w PowerApps:
| Zastosowanie | Opis |
|---|---|
| Formularze wniosków | Tworzenie i zatwierdzanie wniosków za pomocą list SharePoint |
| Rejestry danych | Przechowywanie i przegląd danych operacyjnych (np. sprzęt, zasoby) |
| Zarządzanie zadaniami | Lista zadań projektowych z aktualizacją statusu bezpośrednio z aplikacji mobilnej |
Integracja z SharePointem jest jedną z najczęściej wykorzystywanych funkcji PowerApps ze względu na łatwość wdrożenia, znajomość środowiska przez użytkowników oraz płynne połączenie z innymi usługami Microsoft 365.
Integracja z Excel Online: konfiguracja i najlepsze praktyki
Excel Online to jedno z najczęściej wykorzystywanych źródeł danych w PowerApps, zwłaszcza w organizacjach korzystających z Microsoft 365. Dzięki łatwej dostępności oraz znajomej strukturze danych, umożliwia szybkie tworzenie prototypów oraz prostych aplikacji biznesowych bez potrzeby korzystania z zaawansowanych baz danych. Na warsztatach Cognity wiele osób dopiero pierwszy raz zauważa, jak bardzo to zagadnienie wpływa na ich efektywność.
Aby zintegrować PowerApps z Excel Online, plik musi być przechowywany w jednym z obsługiwanych magazynów chmurowych – najczęściej OneDrive for Business lub SharePoint Online. Tylko wtedy PowerApps będzie w stanie odczytywać i zapisywać dane z arkusza kalkulacyjnego.
Konfiguracja połączenia
Proces konfiguracji połączenia z plikiem Excel Online obejmuje następujące kroki:
- Upewnij się, że plik Excel znajduje się w OneDrive for Business lub SharePoint Online.
- Upewnij się, że dane w arkuszu są zorganizowane w formie tabeli (zakładka "Wstaw" → "Tabela").
- W PowerApps przejdź do zakładki Dane, kliknij Dodaj źródło danych i wybierz Excel Online.
- Wskaż lokalizację pliku i wybierz odpowiednią tabelę z listy dostępnych zakresów danych.
Najlepsze praktyki pracy z Excel Online
- Stosuj tabele: PowerApps może pracować jedynie z danymi zapisanymi jako tabela. Inne dane w arkuszu będą ignorowane.
- Unikaj złożonych formuł Excela: dane obliczeniowe lepiej generować po stronie PowerApps lub innego źródła danych, ponieważ złożone formuły mogą powodować opóźnienia i błędy w synchronizacji.
- Minimalizuj liczbę kolumn i wierszy: Excel Online nie jest przeznaczony do obsługi dużych wolumenów danych w aplikacjach PowerApps – w takich przypadkach rozważ inne źródło danych, np. SQL Server.
- Zadbaj o jednoznaczność nazw kolumn: Unikaj spacji, znaków specjalnych oraz duplikatów, co uprości tworzenie reguł i zapytań.
Porównanie: Excel Online a inne źródła danych
| Cecha | Excel Online | SharePoint | SQL Server |
|---|---|---|---|
| Łatwość użycia | Bardzo wysoka | Wysoka | Średnia |
| Obsługa dużych danych | Niska | Średnia | Wysoka |
| Wymagana struktura | Tabela w arkuszu | Lista SharePoint | Baza danych z tabelami |
| Tryb offline | Brak | Ograniczony | Możliwy z konfiguracją |
Integracja PowerApps z Excel Online to dobry punkt wyjścia dla prostych aplikacji, jednak przy bardziej zaawansowanych scenariuszach warto rozważyć inne źródła danych. W dalszym ciągu Excel może jednak pełnić rolę pomocniczą – np. jako źródło danych referencyjnych lub plik eksportowy.
Łączenie z SQL Server: uwierzytelnianie, dostęp i bezpieczeństwo
Integracja PowerApps z SQL Server umożliwia tworzenie zaawansowanych aplikacji biznesowych, które operują na danych przechowywanych w relacyjnych bazach danych. Ze względu na charakter danych oraz wymagania bezpieczeństwa, połączenie z SQL Server wymaga odpowiedniej konfiguracji uwierzytelniania i zarządzania dostępem. Jeśli chcesz pogłębić swoją wiedzę na temat integracji PowerApps z różnymi źródłami danych, sprawdź szkolenie PowerApps średniozaawansowany.
Rodzaje połączeń z SQL Server
PowerApps obsługuje dwa główne sposoby łączenia się z SQL Server:
- Połączenie w chmurze (cloud connection) – wykorzystywane, gdy baza SQL znajduje się w Azure (Azure SQL Database lub Azure SQL Managed Instance).
- Połączenie lokalne (on-premises) – umożliwia dostęp do lokalnych baz danych SQL Server za pomocą on-premises data gateway.
Mechanizmy uwierzytelniania
W zależności od typu połączenia, możliwe są różne metody uwierzytelniania użytkowników:
| Typ połączenia | Obsługiwane metody uwierzytelniania |
|---|---|
| Azure SQL |
|
| SQL Server on-premises (przez gateway) |
|
Uprawnienia i dostęp do danych
PowerApps łączy się z SQL Server przy użyciu poświadczeń określonych w konektorze. Użytkownicy aplikacji korzystają z tego połączenia – dlatego ważne jest, by ograniczyć uprawnienia konta używanego do połączenia wyłącznie do niezbędnych danych i operacji (np. SELECT, INSERT).
Najlepsze praktyki bezpieczeństwa
- Używaj kont z minimalnymi uprawnieniami – stosuj zasadę least privilege.
- Dla baz danych w chmurze preferuj uwierzytelnianie Azure AD z SSO.
- W przypadku lokalnych baz danych zawsze szyfruj połączenia (SSL).
- Monitoruj aktywność połączeń i przeglądaj logi dostępu.
- Unikaj przechowywania wrażliwych danych w lokalnych zmiennych aplikacji.
Przykład konfiguracji połączenia
Tworząc nowe połączenie z SQL Server w PowerApps, należy podać następujące dane:
Server name: myserver.database.windows.net
Database name: SalesDB
Authentication: Azure AD Integrated
Gateway: (jeśli wymagane dla lokalnego serwera)
Po skonfigurowaniu połączenia można korzystać z tabel SQL Server jak z każdego innego źródła danych w PowerApps – dodając je do aplikacji i tworząc formularze, galerie oraz zapytania.
Zarządzanie danymi i delegacja zapytań w PowerApps
Efektywna praca z dużymi zbiorami danych w PowerApps wymaga zrozumienia, jak platforma przetwarza i przesyła dane z zewnętrznych źródeł. Kluczowe pojęcia w tym kontekście to delegacja zapytań oraz lokalne przetwarzanie danych. Właściwe wykorzystanie tych mechanizmów ma bezpośredni wpływ na wydajność aplikacji oraz poprawność wyników prezentowanych użytkownikom.
Delegacja vs. lokalne przetwarzanie
PowerApps umożliwia łączenie się z różnymi źródłami danych, ale sposób przetwarzania zapytań zależy od typu źródła oraz użytych funkcji. Kluczowa różnica sprowadza się do tego, gdzie wykonywana jest logika zapytania – na serwerze (delegacja), czy po stronie klienta (lokalne przetwarzanie).
| Cecha | Delegacja zapytań | Lokalne przetwarzanie |
|---|---|---|
| Miejsce przetwarzania | Na serwerze źródła danych | W aplikacji PowerApps (na urządzeniu użytkownika) |
| Skalowalność | Wysoka – przetwarzanie dużych zbiorów danych | Niska – ograniczenie do 500–2000 rekordów |
| Przykładowe funkcje wspierane | Filter, Search, Sort | Collect, ForAll (w zależności od użycia) |
| Ryzyko niepełnych wyników | Niskie | Wysokie (przy przekroczeniu limitu rekordów) |
Dlaczego delegacja jest ważna?
Bez delegacji, PowerApps pobiera tylko ograniczoną liczbę rekordów (domyślnie 500, maksymalnie 2000), co oznacza, że zapytania działają na niepełnym zestawie danych. W przypadku aplikacji biznesowych operujących na tysiącach rekordów – np. z SharePointa czy SQL Servera – może to prowadzić do nieprawidłowych wyników filtracji lub błędnych zestawień.
Przykład różnicy w zachowaniu
// Zapytanie delegowalne (jeśli źródło wspiera delegację funkcji Filter)
Filter(Orders, Status = "Zatwierdzone")
// Zapytanie niedelegowalne (np. użycie funkcji Len)
Filter(Orders, Len(Title) > 10)
W powyższym przykładzie pierwsze zapytanie może zostać wykonane na serwerze, jeśli źródło danych wspiera funkcję Filter. Drugie – ponieważ funkcja Len nie jest delegowalna – zostanie przetworzone lokalnie, co może skutkować filtrowaniem tylko części danych.
Najlepsze praktyki zarządzania danymi
- Stosuj funkcje delegowalne zawsze, gdy to możliwe.
- Unikaj zagnieżdżania niedelegowalnych funkcji w zapytaniach.
- Dostosuj ustawienia limitu pobieranych rekordów w aplikacji tylko wtedy, gdy masz świadomość konsekwencji.
- Monitoruj ostrzeżenia delegacji w edytorze PowerApps – są one cennym źródłem informacji o możliwych problemach.
Świadome zarządzanie zapytaniami i zrozumienie zasad delegacji są niezbędne przy projektowaniu skalowalnych i niezawodnych aplikacji w PowerApps zintegrowanych z zewnętrznymi źródłami danych.
Przykładowy scenariusz biznesowy: aplikacja wspierająca proces zatwierdzania
PowerApps pozwala na szybkie tworzenie aplikacji wspierających konkretne procesy biznesowe, takie jak obieg dokumentów czy zatwierdzanie wniosków. Jednym z typowych zastosowań jest aplikacja do zarządzania procesem zatwierdzania, która wykorzystuje integrację z różnymi źródłami danych – SharePointem jako repozytorium danych, Excel Online jako źródłem pomocniczym oraz SQL Serverem jako bazą danych transakcyjnych.
Przykładowy scenariusz może obejmować aplikację, w której pracownicy składają wnioski (np. o urlop, zakup sprzętu czy zatwierdzenie projektu), które następnie trafiają do wyznaczonych osób zatwierdzających. Użytkownicy mogą przeglądać statusy swoich zgłoszeń, a zatwierdzający mają dostęp do listy oczekujących spraw z możliwością akceptacji lub odrzucenia.
W tym rozwiązaniu:
- SharePoint pełni rolę centralnego rejestru zgłoszeń, umożliwiając łatwe przeszukiwanie i filtrowanie danych oraz współdzielenie ich w organizacji.
- Excel Online może służyć jako źródło danych referencyjnych, np. listy typów wniosków, działów czy kodów budżetowych, zawartych w arkuszu utrzymywanym przez dział administracyjny.
- SQL Server zapewnia integrację z istniejącym systemem ERP lub HR, z którego pobierane są dane pracowników i ich struktura organizacyjna, niezbędna do automatycznego przypisywania zatwierdzających.
Taka aplikacja pozwala na uproszczenie i przyspieszenie procesu decyzyjnego, zwiększa przejrzystość obiegu informacji oraz redukuje ryzyko błędów związanych z ręcznym przetwarzaniem danych.
Najczęstsze problemy i sposoby ich rozwiązywania przy integracji danych
Integracja PowerApps z różnymi źródłami danych, takimi jak SharePoint, Excel Online czy SQL Server, może wiązać się z szeregiem wyzwań technicznych i funkcjonalnych. Poniżej przedstawiamy najczęstsze problemy, z którymi spotykają się użytkownicy podczas pracy z danymi w PowerApps, oraz sposoby, w jakie można je skutecznie rozwiązać.
- Problemy z uprawnieniami dostępu – Użytkownicy często natrafiają na problemy wynikające z braku odpowiednich uprawnień do wybranych źródeł danych. Należy upewnić się, że konto używane do połączenia ma odpowiednie uprawnienia do odczytu i/lub zapisu danych w SharePoint, Excel Online lub SQL Server.
- Ograniczenia związane z delegacją zapytań – PowerApps stosuje mechanizmy delegacji zapytań, które mogą ograniczać zakres danych przetwarzanych w aplikacji, szczególnie przy dużych zbiorach danych. Warto zapoznać się z zasadami delegacji i wykorzystywać funkcje wspierane przez dane źródło, aby zapewnić wydajność działania aplikacji.
- Problemy z aktualizacją danych w Excel Online – Excel Online nie zawsze działa jak pełnoprawna baza danych. Może wystąpić problem z aktualizacją danych w skoroszycie, jeśli nie został on odpowiednio przygotowany – np. dane muszą być zapisane w postaci tabeli, a plik przechowywany na OneDrive lub SharePoint.
- Niestabilne połączenia z SQL Server – Przy korzystaniu z SQL Server, zwłaszcza w scenariuszach z wykorzystaniem bramy danych lokalnych, mogą pojawiać się problemy z łącznością. Należy upewnić się, że brama jest zainstalowana, aktywna i poprawnie skonfigurowana, a także że reguły zapory sieciowej nie blokują ruchu.
- Synchronizacja zmian w źródle danych – Zmiany strukturalne w źródle danych (np. usunięcie kolumny w SharePoint) mogą powodować błędy w aplikacji. Zaleca się wprowadzać zmiany w sposób kontrolowany i regularnie odświeżać połączenia danych w PowerApps.
- Ograniczenia liczby rekordów – Domyślnie PowerApps ogranicza liczbę pobieranych rekordów do 500 (można zwiększyć do 2000). Przy pracy z dużymi zbiorami danych warto odpowiednio zaprojektować aplikację, by unikać przetwarzania nadmiarowych danych po stronie klienta.
Rozwiązanie powyższych problemów wymaga zarówno dobrej znajomości źródła danych, jak i odpowiedniego zaprojektowania logiki aplikacji w PowerApps. Dzięki temu możliwe jest stworzenie stabilnego i wydajnego rozwiązania biznesowego. Podczas szkoleń Cognity pogłębiamy te zagadnienia w oparciu o konkretne przykłady z pracy uczestników.