fbpx

Jak połączyć dane z załączników PDF maila (Microsoft Exchange)? Power Query

26.11.2024 | Power Query

Załóżmy, że co tydzień na maila otrzymujemy maile z załącznikami PDF, zawierającymi pewne raporty. Chcielibyśmy połączyć te pliki i stworzyć z nich zbiorczy raport. 

Problem jest taki, że tych maili, a zatem załączników do połączenia może być różna liczba – czasem nawet idąca w setki. Wyglądać to może tak: 

Poczta

 

Same raporty mają co do zasady taką samą strukturę: mogą się co najwyżej różnić kolejnością kolumn. 

Pocztę mamy natomiast na serwerze Exchange. 

Temat wydaje się z pozoru trudny, ale na spokojnie jest do zrobienia za pomocą Power Query. W tym artykule pokażę jak. 

Podłączanie się do poczty (Exchange) 

Załóżmy, że chcemy stworzyć raport w Excelu. Z poziomu tego programu wejdźmy zatem do menu Dane → Pobierz dane → Z usług online → Z usługi Microsoft Exchange Online. 

Power Query poprosi nas o podanie adresu e-mailowego na serwerze Exchange, do którego chcemy się podłączyć: 

Logowanie do poczty

 

Należy oczywiście podać adres oraz zalogować się odpowiednimi poświadczeniami. 

Po udanym logowaniu wyświetli nam się Nawigator, w którym należy wybrać podłączenie się do poczty, czyli Mail, a następnie kliknąć przycisk Przekształć dane: 

Nawigator

 

Niezbędne przekształcenia na danych 

Zostanie utworzone zapytanie Power Query o nazwie Mail (można ją w dowolnej chwili zmienić), zawierające multum informacji o naszych mailach. Najważniejsze dla nas na tę chwilę to ich lokalizacja, czyli folder, w którym są maile, zawierające raporty do połączenia. 

W naszym przypadku maile te znajdują się w Skrzynce odbiorczej. Jako kolejny krok zapytania dokonajmy zatem filtrowania kolumny Folder Path po tej wartości, a zatem: 

Wybór folderu

 

Teraz widzimy maile ze Skrzynki odbiorczej, zatem idąc dalej – zostawmy tylko te, które posiadają załączniki. Zakładamy, że wszystkie maile z załącznikami w tym folderze to interesujące nas maile. Dokonajmy zatem kolejnego filtrowania, tym razem po kolumnie HasAttachments i wybierzmy w niej True: 

Wybór maili z załącznikami

 

Świetnie! Teraz  to naprawdę są tylko interesujące nas maile. Możemy zatem zostawić tylko interesującą nas kolumną, czyli Attachments. Usuńmy więc inne, klikając kolumnę Attachments prawym przyciskiem myszy i wybierając Usuń inne kolumny: 

Zostawiamy kolumnę z załącznikami

 

Przykładowa tabela w kolumnie Attachments, a zatem nasz przykładowy załącznik wygląda tak: 

Przykładowy załącznik

 

Z powyższego interesuje nas tylko nazwa pliku (Name) oraz sam załącznik, czyli AttachmentContent. Jedynie więc te dwie kolumny zostawimy podczas operacji łączenia. Kliknij więc dwie strzałki po prawej stornie kolumny Attachments, wybierz z filtrowanie te dwie kolumny i naciśnij OK: 

Filtrowanie

 

Otrzymany efekt to „wypakowane” do kolejnej tabeli pliki oraz ich nazwy: 

Wypakowane dane

 

Możemy od razu pozbyć się rozszerzeń plików (.pdf) poprzez dokonanie prostej zamiany: kliknij prawym przyciskiem myszy na kolumnę Name i wybierz opcję Zamień wartości: 

Zamiana

 

Można od razu tez podmienić nazwę kolumny Name na Dział. 

Automatyczne łączenie plików PDF 

Teraz pozostaje już tylko połączyć pliki. Najprościej będzie skorzystać z dwóch strzałek w dół przy kolumnie AttachmentContent: 

Łączenie plików

 

W nawigatorze w kolejnym kroku wybieramy obiekt, który ma zostać połączony. W przypadku naszych plików będzie to obiekt Table001: 

Nawigator

 

Po zatwierdzeniu do naszego zapytania zostanie dodanych kilka nowych kroków. Dojdą również nowe zapytania – wszystkie wygenerowana automatycznie. 

Jedyną rzeczą, którą bym jeszcze zmieniła, to zachowałabym kolumnę Dział. Po drodze zaginęła w akcji ;(. Aby to zrobić, edytuję krok Usunięto inne kolumny1 o tak: 

= Table.SelectColumns(#"Wywołaj funkcję niestandardową1", {"Przekształć plik", "Dział"}) 

I to tyle. Po załadowaniu wszystkiego do Excela, np. do tabeli przestawnej, na połączonych danych można już robić ciekawe analizy, np.: łączne zarobki pracowników poszczególnych działów: 

Raport w tabeli przestawnej

 

I to by było tyle. Jak widać, jeśli znamy funkcjonalność łączenia plików z folderu, to bez problemu poradzimy sobie z połączeniem załączników z maila na serwerze Exchange 😊. 


 

I film na Youtubie, gdzie pokazuję powyższe rozwiązanie:

 

 

Jeżeli chcesz lepiej poznać Power Query zapisz się na listę zainteresowanych kursem Power Query w Excelu od podstaw! Podczas oczekiwania na kurs będę Ci wysyłała informacje i ciekawostki na temat Power Query. Bezpłatnie! 

Pomogłam Ci? Postaw mi wirtualną kawę! →

Przeczytaj podobne wpisy

Kategorie

0 komentarzy

Wyślij komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *