Nasz świat napędzany jest przez dane. Zbieramy je, przetwarzamy i analizujemy. Bardzo często szukamy między nimi zależności i powiązań. Klienci i ich zamówienia, zamówienia i produkty, produkty i cenniki. Można tak wymieniać długo. Sama relacja między danymi niesie ze sobą bardzo cenne informacje. W każdym systemie bazodanowym możliwość łączenia danych relacjami jest jedną z kluczowych funkcji. SharePoint nie jest typową bazą danych, ale mimo tego umożliwia łączenie list. Wykorzystuje do tego specjalny typ kolumny- odnośniki. To właśnie ta funkcja będzie tematem dzisiejszego odcinka.
Odnośniki
Zasada działania odnośników (ang. lookup) jest prosta. Dodając kolumnę do listy, wybieramy inną jako źródło wyświetlanej listy rozwijanej. W zasadzie wszędzie tam, gdzie stosujesz kolumny typu wybór/choice możesz równie dobrze stosować odnośniki. Wymaga to utworzenia dodatkowej listy, ale w zamian otrzymujemy ciekawe, dodatkowe funkcje. Możliwość łączenia widoków list oraz wymuszenia relacji to najważniejsze z nich. Obejrzyj krótki film prezentujący te możliwości. Poniżej znajdziesz też kilka ważnych informacji dotyczących tych kolumn.
Podsumowanie
Odnośniki to bardzo przydatny typ kolumny. Warto ich używać. Pamiętaj tylko, że:
- Na jednej liście możesz utworzyć ograniczoną ilość odnośników. W SharePoint Online limit ten wynosi 12 i nie można go zmienić. Jeśli posiadasz swoją farmę SharePoint, tę wartość może zmienić administrator.
- Tworząc odnośnik możesz wyświetlić także dodatkowe kolumny z drugiej listy. Pamiętaj tylko o ograniczeniach. Nie zadziała to z każdym typem danych. Dokładny opis problemu i jego obejścia znajdziesz tutaj: http://techtrainingnotes.blogspot.com/2012/01/sharepoint-not-all-column-types-can-be.html
- Wymuszenie relacji pozwoli Ci kontrolować zachowanie listy podczas kasowania elementu. Ograniczenie kasowania nie pozwoli skasować elementu dopóki istnieją inne z nim powiązane. Usuwanie kaskadowe, spowoduje automatycznie usunięcie wszystkich powiązanych elementów, podczas kasowania źródłowego.
- Większość webpartów (o nich w jednym z najbliższych odcinków) SharePoint posiada możliwość łączenia. Dzięki nim można dynamicznie filtrować widoki.
W kolejnych odcinkach odpoczniemy od tematu kolumn. W następnym pokażę Ci jak tworzyć podwitryny i rozbudowywać swój portal SharePoint. Poznasz mechanizm szablonów oraz nauczysz się modyfikować nawigację globalną. Do zobaczenia!

Super szkolenie, zatrzymałem się nad jednym problemem z listami, a mianowicie zdefiniowałem tym danych „Obliczeniowe (obliczenia oparte na innych kolumnach)” i w widokach brak możliwości sumowania tych danych. Można to jakość obejść.
Standardowo nie da się tego zrobić, ponieważ kolumny wyliczane nie przechowują wartości. Jest ona wyliczana dopiero przy wyświetlaniu. Można to spróbować obejść. Pierwszy pomysł: Flow/Workflow, który będzie to wyliczał i wpisywał do zwykłej kolumny tekstowej/numerycznej, a te już sumować można. Pomysł drugi, to zastosowanie skryptu (https://social.technet.microsoft.com/wiki/contents/articles/30317.sharepoint-2013-displaying-sum-for-calculated-column-in-a-list-view-using-jslink.aspx)
Witajcie. Ja mam inny problem i póki co nie mogę go przejść. Na liście mam wiele pól i m.in. typ odnośnik. Chcę dołączyć kolejne pole, w którym wyliczę coś, co oparte jest na polu typ: odnośnik (w źródle jako liczba). I do formuły nie mogę dodać kolumny typ: odnośnik, bo SPF2013 jej nie widzi lub nie rozpoznaje. Możecie pomóc?
Będzie z tym problem. Nie wszystkie typy pól są obsługiwane w kolumnach obliczeniowych. Można pomyśleć o możliwych obejściach. Tutaj znajdziesz ich zgrabne podsumowanie: https://blog.devoworx.net/2017/09/11/lookup-field-in-calculated-column-sharepoint/
Dzięki. Zadziałało idealnie.
Hmm … a skąd można pobrać – link – pliki przykładowe excela ze strony ms ?
O co dokładnie pytasz?
Na filmie byłą mowa że można sobie pobrać ze strony microsoft.com przykłądow pliki – dotyczy przykładu z listą zamówienia , klienci , towary (sku)
Użyłem danych z przykładowej bazy Northiwnd Traders. Można ją znaleźć w przeróżnych formach. Excel: http://www.exceldashboard.org/Northwind.xls , PowerApps/DCS: https://docs.microsoft.com/pl-pl/powerapps/maker/canvas-apps/northwind-install, czy samej bazy: https://github.com/microsoft/sql-server-samples/tree/master/samples/databases/northwind-pubs .
Jak można utworzyć listę z odnośnikami tak, żebym po wybraniu jakiegoś klienta miał możliwość wybrać produkt z dedykowanej dla niego listy produktów a dla następnego klienta z innej listy.
To co opisujesz to tzw. kaskadowe listy rozwijane. Jeśli korzystasz z SharePoint online, to najprościej wykorzystać Power Apps (np. zmieniając formularz listy, albo dedykowaną apkę). W innych przypadkach pozostaje zabawa z Java Script
cześć,
kurs super, zaczynam wchodzić w świat SharePoint, ale mam taką sytuację:
Mam kilkaset plików, które chcę przenieść do biblioteki sharepoint, dla tych plików w osobnym pliku excel mam sporo danych w wielu kolumnach. Chciałbym utworzyć bibliotekę która połączy mi plik z danymi.
Stworzyłem bibliotekę (wrzuciłem testowo 15 plików) oraz listę, połączyłem je kolumną odnośników po nazwie pliku (relacja jest 1:1).
w bazie excel mam również kolumny z adresami email do osób które powinny dostać informację o dodaniu pliku oraz dostęp do niego.
Pytania:
1) Czy jest jakiś sposób aby dane wypełniły się automatycznie, żebym nie musiał rozwijać elementów przy każdym wierszu?
2) Jeżeli jest takie rozwiązanie, to czy po dodaniu kolejnych pików dane się wypełnią?
3) Z tego co czytałem nie da się odświeżyć listy zaimportowanej z excel, rozumiem, że od tej pory zmiany wprowadzam w liście sharepoint i ewentualnie eksport do excel?
cd.:
4) czy da się automatycznie wysłać email na adresy z kilku kolumn po dodaniu pliku do listy?
5) czy wraz z wysłaniem pliku mogą zostać nadane uprawnienia do edycji?
Wiem, że dużo pytań, ale gdyby udało się wskazać kierunki poszukiwać, to będę bardzo wdzięczny.
Michał
na oba punkty odpowiedzią jest Workflow (przy sharepoint onprem), albo Power Automate (przy online)
Cześć,
bo najpierw miałem bibliotekę plików (beż żadnych kolumn dodatkowych) do której została zbudowana tabela z danymi w excelu (jako klucz nazwa pliku) i nie wiem jak to połączyć w SharePoint (lookup powoduje, że muszę wybierać z listy rozwijanej)
Witam,
1) czyli rozumiem, że jak jak chciałbym przypisać dane do plików w bibliotece (np z pliku Excel), to jest to niemożliwe i muszę najpierw wprowadzić pliki a następnie ręcznie dodać kolumny z informacjami??
2) niestety po testach okazało się że kolumna odnośników nie ma zastosowania w power automate, bo skoro jest to tylko obraz listy to dynamic content jej nie widzi.
pozdrawiam
Czy łączone listy muszą znajdować się w tej samej witrynie? Przy okazji, wielkie dzięki za bardzo fajny kurs.
Tak, muszą się znajdować w tej samej witrynie. Korzystasz z SharePoint Online? Jeśli tak, to koniecznie zerknij na CDS w Teams. Relacje przestaną być problemem 😉 Dzięki za miłą recenzję. Przy okazji zapraszam na https://AkademiaAplikacji.pl
Witam,
Postanowiłem trochę usprawnić listę dokumantów na fimowym Sharepoint’cie. Stworzyłem dodatkową kolumnę w której użyłem formuły która zawiera właściwość TODAY(). Formuła ma zwracać ilość dni jakie minęły od dnia dodania elementu (dane z odpowiedniej kolumny) do dnia dzisiejszego. Wszystko działa poprawnie… przez jeden dzień. Wygląda na to, że Sharepoint nie aktualizuje formuły w tej kolumnie.
Czy jest jakiś spoób na automatyczną rekalkulację tej formuły? Szukałem już po różnych stronach, ale wszystkie rozwiązania odwołują się albo do Power Apps albo Flow o których nie mam pojęcia ani prawdopodobnie dostępu (zabezpieczenia firmowe). Pozdrawiam.
Z jakiej wersji SharePoint korzystasz? Piszesz o Power Apps i Power Automate, więc jest szansa, że to wersja Online. Jesli tak, to proponuję wykorzystać formatowanie warunkowe. Tu przykład: https://github.com/pnp/sp-dev-list-formatting/tree/master/column-samples/date-difference . Trochę więcej o tej funkcji pisałem i mówiłem na tym webinarze: https://www.akademiaaplikacji.pl/poznaj-microsoft-lists/ Może się przyda…
Co do kolumny wyliczanej to sprawa jest prosta, ale faktycznie nieoczywista. Kolumna tego typu nie przechowuje wartości, a jedynie formułę. Nie da się jej zatem odświeżać. Formuła jest wyliczana przy wyświetleniu (a najlepiej edycji elementu). Faktycznie najlepiej zdać się na skrypt (jak we wspomnianym formatowaniu warunkowym lub JScript, albo stworzyć własną kolumnę i wypełniać ją regularnie np. via Power Automate)
Dzięki za odpowiedź. Rzeczywiście korzystam z wersji Online. Biorąc pod uwagę wyżej wymienione opcje skuszę się na rozwiązanie via Power Automate. Przy okazji na YT natknąłem się na filmik Akademii Aplikacji wyjaśniający w przejrzysty sposób działanie Power Automate 🙂 Dobra robota Panowie! Pozdrawiam.
Faktycznie zdarzyło nam się parę webinarów i kursów o Power Automate nagrać 🙂 Cieszę się, że się przydały.