Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:✅ Power BI Desktop i usługa Power BI
Obliczenie wizualne to obliczenie języka DAX, które definiujesz i uruchamiasz bezpośrednio w wizualizacji, zamiast dodawać je do modelu semantycznego. Ponieważ obliczenia wizualne współdziałają z danymi widocznymi już w wizualizacji, można wyrazić typowe obliczenia biznesowe — takie jak sumy bieżące, średnie ruchome i porównania okresowe — bez nawigowania w kontekście filtru lub relacji modelu. Wynikiem jest zwykle krótszy kod DAX, który jest łatwiejszy w utrzymaniu i często działa wydajniej niż równoważna miara.
W tym artykule wyjaśniono, jakie są obliczenia wizualne, jak zachowują się w macierzy wizualizacji, jak działają parametry sterujące nimi oraz jak różnią się od miar i kolumn obliczeniowych, dzięki czemu można zdecydować, kiedy obliczenie wizualizacji jest właściwym wyborem.
Oto przykładowe wizualne obliczenie, które definiuje sumę bieżącą dla kwoty sprzedaży. Wymagany kod DAX jest prosty:
Running sum = RUNNINGSUM([Sales Amount])
Obliczenie może odwoływać się do dowolnych danych w wizualizacji, w tym kolumn, miar lub innych obliczeń wizualnych. Ta możliwość eliminuje złożoność modelu semantycznego i upraszcza proces pisania języka DAX. Za pomocą obliczeń wizualnych można przeprowadzać typowe obliczenia biznesowe, takie jak sumy bieżące lub średnie ruchome.
Obliczenia wizualne różnią się od innych opcji obliczeń w języku DAX:
- Obliczenia wizualne nie są przechowywane w modelu. Zamiast tego przechowujesz je w wizualizacji. To ograniczenie oznacza, że obliczenia wizualne mogą odnosić się tylko do elementów wizualizacji. Aby obliczenie wizualne mogło się do tego odwołać, należy najpierw dodać to do modelu. To ograniczenie uwalnia obliczenia wizualne od konieczności uwzględniania złożoności kontekstu filtrowania i modelu.
- Obliczenia wizualne łączą prostotę kontekstu z kolumn obliczeniowych z elastycznością obliczeń na żądanie z miar.
- W porównaniu z miarami obliczenia wizualne działają na zagregowanych danych zamiast na poziomie szczegółów, co często prowadzi do korzyści z wydajności. Gdy obliczenie można osiągnąć za pomocą nowej miary lub obliczenia wizualnego, ta ostatnia często prowadzi do lepszej wydajności.
- Ponieważ obliczenia wizualne są częścią wizualizacji, mogą odwoływać się do struktury wizualizacji, co prowadzi do większej elastyczności.
Aby uzyskać bardziej szczegółowe porównanie sposobów dodawania obliczeń w Power BI, zobacz Używanie opcji obliczeń w programie Power BI Desktop.
Wizualizacje tabel i macierzy udostępniają również obliczenia wizualne za pomocą funkcji niestandardowych sum, która umożliwia zmianę zawartości wyświetlanej w wierszu sumy bez pisania formuł DAX. Aby uzyskać więcej informacji, zobacz artykuły wizualizacji tabeli i macierzy .
Aby dowiedzieć się, jak dodać lub edytować obliczenia wizualne, zobacz Tworzenie obliczeń wizualnych.
Jak działają obliczenia wizualne
Tworzysz obliczenia wizualne w trybie Edit, który otwiera się na wybranej wizualizacji. Obszar edycji ma trzy części: podgląd wizualizacji, pasek formuł na wyrażenie DAX oraz macierz wizualną, która wyświetla wyniki w miarę wpisywania.
Ponieważ na wizualizacji są przechowywane obliczenia wizualne, można odwoływać się do dowolnego elementu wizualizacji — kolumn, miar lub innych obliczeń wizualnych — ale nic innego w modelu. Większość obliczeń wizualnych oblicza wiersz po wierszu względem macierzy wizualizacji, więc funkcje agregacji, takie jak SUM , są zwykle niepotrzebne. Nie można używać funkcji, które zależą od relacji modelu — USERELATIONSHIP, RELATED i RELATEDTABLE.
Po dodaniu obliczenia w wizualizacji pojawi się ono na liście pól wizualizacji i będzie wyświetlane na samej wizualizacji.
Funkcje języka DAX dostępne w obliczeniach wizualnych
Wiele istniejących funkcji języka DAX działa w obliczeniach wizualnych. Ponieważ obliczenia wizualne działają w granicach macierzy wizualizacji, funkcje, które opierają się na relacjach modelu, takich jak USERELATIONSHIP, RELATED lub RELATEDTABLE , nie są dostępne.
Obliczenia wizualne przedstawiają również zestaw funkcji specyficznych dla obliczeń wizualnych. Wiele z tych funkcji to łatwiejsze w użyciu odpowiedniki funkcji okna języka DAX.
| Funkcja | opis | Przykład | Skrót do |
|---|---|---|---|
| COLLAPSE | Obliczenie jest wykonywane na wyższym poziomie osi. | Procent rodzica = DIVIDE([Kwota sprzedaży], COLLAPSE([Kwota sprzedaży], ROWS)) | Nie dotyczy |
| COLLAPSEALL | Obliczenie jest oceniane na sumarycznym poziomie osi. | Procent sumy końcowej = DIVIDE([Sales Amount], COLLAPSEALL([Sales Amount], ROWS)) | Nie dotyczy |
| EXPAND | Obliczanie jest obliczane na niższym poziomie osi. | Średnia dzieci = EXPAND(AVERAGE([Sales Amount]), ROWS) | Nie dotyczy |
| EXPANDALL | Obliczenie jest wykonywane na poziomie liścia osi. | Średnia poziomu liścia = EXPANDALL(ŚREDNIA([Kwota Sprzedaży]), ROWS) | Nie dotyczy |
| FIRST | Odnosi się do pierwszego wiersza osi. | ProfitVSFirst = [Profit] - FIRST([Profit]) | INDEX(1) |
| ISATLEVEL | Informuje, czy określona kolumna jest obecna na bieżącym poziomie. | IsFiscalYearAtLevel = ISATLEVEL([Rok obrachunkowy]) | Nie dotyczy |
| LAST | Odwołuje się do ostatniego rzędu na osi. | ProfitVSLast = [Profit] - LAST([Profit]) | INDEX(-1) |
| LOOKUP | Ocenia wyrażenie w wizualnej macierzy przy użyciu bieżącego kontekstu. | LookupSalesFor2025WithContext = LOOKUP(SUM([Sales]), [Year], "2025") | Nie dotyczy |
| LOOKUPWITHTOTALS | Oblicza wyrażenie w wizualnej macierzy z sumami całkowitymi. | LookupSalesFor2025WithTotals = LOOKUPWITHTOTALS(SUM([Sprzedaż]), [Rok], "2025") | Nie dotyczy |
| MOVINGAVERAGE | Dodaje średnią ruchomą na osi. | MovingAverageSales = MOVINGAVERAGE([Kwota Sprzedaży], 2) | WINDOW |
| NEXT | Odwołuje się do kolejnego rzędu na osi. | ProfitVSNext = [Profit] - NEXT([Profit]) | OFFSET(1) |
| PREVIOUS | Odwołuje się do poprzedniego wiersza osi. | ProfitVSPrevious = [Profit] - PREVIOUS([Profit]) | OFFSET(-1) |
| RANGE | Odwołuje się do wycinka rzędów wzdłuż osi. | AverageSales = AVERAGEX((RANGE1), [Sales Amount]) | WINDOW |
| RUNNINGSUM | Dodaje sumę bieżącą na osi. | RunningSumSales = RUNNINGSUM([Kwota Sprzedaży]) | WINDOW |
Parametry kontrolujące przepływ obliczeń
Niektóre funkcje obliczeń wizualnych przyjmują opcjonalne parametry, które określają sposób, w jaki obliczenie przechodzi przez macierz wizualną:
- Axis i Reset są specyficzne dla obliczeń wizualnych. Odwołują się do struktury wizualizacji, a nie do określonych pól.
- OrderBy i PartitionBy działają także w kolumnach obliczeniowych i miarach. Odwołują się bezpośrednio do pól.
W poniższych sekcjach opisano poszczególne parametry i informacje o tym, kiedy należy użyć ich nawzajem.
Axis
Wiele funkcji ma opcjonalny Axis parametr, którego można używać tylko w obliczeniach wizualnych. Parametr Axis wpływa na sposób, w jaki obliczenie wizualne przechodzi przez matrycę wizualizacji. Parametr Axis jest domyślnie ustawiony na pierwszą oś w wizualizacji. W wielu wizualizacjach pierwszą osią jest ROWS, co oznacza, że obliczenie wizualne jest obliczane wiersz po wierszu w macierzy wizualizacji, od góry do dołu. W poniższej tabeli przedstawiono prawidłowe wartości parametru Axis :
| Axis ikona | Axis nazwa | opis |
|---|---|---|
|
ROWS | Oblicza między wierszami. |
|
COLUMNS | Oblicza między kolumnami. |
|
ROWS COLUMNS | Oblicza między wierszami, a następnie kolumnami. |
|
COLUMNS ROWS | Oblicza w poprzek kolumn, a następnie w poprzek wierszy. |
| ROWPAGES | Oblicza dla małych wielokrotności. | |
| ROWS ROWPAGES | Oblicza między wierszami, a następnie małe wielokrotnki. | |
| COLUMNS ROWPAGES | Oblicza między kolumnami, a następnie małe wielokrotnki. | |
| ROWPAGES ROWS | Oblicza w obrębie siatki małych wykresów, a następnie w obrębie wierszy. | |
| ROWPAGES COLUMNS | Oblicza małe wielokrotnki, a następnie kolumny. | |
| ROWS COLUMNS ROWPAGES | Oblicza w wierszach, kolumnach, a następnie w małych wielokrotnościach. | |
| ROWS ROWPAGES COLUMNS | Oblicza w poprzek wierszy, następnie małych krotności, a na końcu kolumn. | |
| COLUMNS ROWS ROWPAGES | Oblicza w kolumnach, wierszach, a następnie w małych multiplach. | |
| COLUMNS ROWPAGES ROWS | Oblicza w kolumnach, małych wielokrotnościach, a następnie w wierszach. | |
| ROWPAGES ROWS COLUMNS | Oblicza w małych wielokrotnościach, wierszach, a następnie kolumnach. | |
| ROWPAGES COLUMNS ROWS | Oblicza w obrębie małych wielokrotności, kolumn, a następnie wierszy. |
Obliczenia wizualne obsługują wizualizacje korzystające z małych wielokrotnków. W wizualizacji macierzowej pole w obszarze pól Małe wielokrotności jest wyświetlane na osi ROWPAGES. Służy ROWPAGES do obliczania między małymi wielokrotnkami lub łączenia jej z elementami ROWS i COLUMNS w celu kontrolowania kolejności przechodzenia.
Uwaga
Jeśli określisz oś, która nie jest obecna na wizualizacji, obliczenie zignoruje tę oś.
Reset
Wiele funkcji zawiera opcjonalny Reset parametr, którego można używać tylko w obliczeniach wizualnych. Parametr Reset określa, czy i kiedy funkcja resetuje jego wartość do wartości 0 lub przełącza się do innego zakresu podczas przechodzenia przez macierz wizualizacji. Kontroluje to zachowanie, partycjonując kolumnę docelową. Gdy obliczenia występują w ramach partycji, sposób dzielenia kolumny na partycje określa, czy obliczenia są resetowane.
Wartość domyślna parametru Reset to NONE, co oznacza, że obliczenie wizualizacji nigdy nie jest uruchamiane ponownie.
Parametr Reset akceptuje różne typy wartości:
- Liczby całkowite
- Odwołania do kolumn
- Specjalne synonimy: HIGHESTPARENT, , LOWESTPARENTNONE
W każdym przypadku parametr określa pojedynczy poziom w hierarchii obliczeń wizualizacji (poziom docelowy). Jednak sposób interpretowania obliczeń na tym poziomie może się różnić.
Zachowanie Reset działa w dwóch różnych trybach: bezwzględnym i względnym.
Jeśli używasz dla parametru wartości całkowitych lub ich odpowiedników NONE, HIGHESTPARENT i LOWESTPARENT, możesz wybrać jeden z tych dwóch trybów na podstawie znaku liczby całkowitej: wartości dodatnie powodują resetowanie w trybie bezwzględnym, a wartości ujemne powodują resetowanie w trybie względnym (a zero w ogóle nie powoduje resetowania, co jest zachowaniem domyślnym).
Jeśli określisz odwołanie do kolumny, działasz również w trybie bezwzględnym. Te wartości określają sposób partycjonowania kolumny docelowej i w związku z tym, czy zostanie zresetowana. W poniższych sekcjach opisano następujące dwa tryby:
Tryb resetowania bezwzględnego
Tryb bezwzględny to sposób działania parametru Reset w obliczeniach wizualnych. Ten tryb wskazuje, że obliczenie powinno partycjonować według kolumny docelowej i wszystkich tych kolumn powyżej. Ta reguła ma zastosowanie na każdym poziomie obliczeń. Na poziomach powyżej kolumny docelowej (na których kolumna docelowa nie jest obecna, podobnie jak ewentualnie inne kolumny) obliczenie jest partycjonowane według pozostałych dostępnych kolumn. Dodatnia wartość całkowita identyfikuje kolumnę docelową, licząc od góry (kolumna na górze ma wartość 1, następna — 2 itd.). Sięga do N (liczby kolumn w hierarchii), a wszystkie wartości powyżej tej liczby są przycinane. Alternatywnie możesz bezpośrednio określić kolumnę.
Rozważmy na przykład obliczenie wizualne z następującymi poziomami hierarchii: Rok, Kwartał, Miesiąc i Dzień. W poniższej tabeli przedstawiono sposób partycjonowania obliczeń na każdym poziomie w zależności od wartości Reset:
| Poziom/wartość | Reset = 1 lub rok | Reset = 2 lub kwartał | Reset = 3 lub miesiąc | Reset = 4 lub dzień |
|---|---|---|---|---|
| Poziom dzienny | Rok | Kwartał i rok | Miesiąc, Kwartał i Rok | Dzień, Miesiąc, Kwartał i Rok |
| Poziom miesiąca | Rok | Kwartał i rok | Miesiąc, Kwartał i Rok | Miesiąc, Kwartał i Rok |
| Poziom kwartału | Rok | Kwartał i rok | Kwartał i rok | Kwartał i rok |
| Rok studiów | Rok | Rok | Rok | Rok |
| Poziom sumy końcowej | Żaden | Żaden | Żaden | Żaden |
Tryb względnego resetowania
Tryb względny to sposób działania parametru Reset w obliczeniach wizualnych. Dla ujemnej wartości całkowitej –X na każdym poziomie obliczenia są partycjonowane według wszystkich kolumn znajdujących się o X lub więcej poziomów powyżej tego poziomu w hierarchii (lub nie są partycjonowane w ogóle, jeśli taki poziom nie istnieje). Prawidłowe wartości dla tego trybu znajdują się między -1 a -N+1 (gdzie N jest liczbą kolumn w hierarchii), a wszystkie niższe wartości są przycinane. Rozważmy ponownie obliczenie wizualne z następującymi poziomami hierarchii: Rok, kwartał, miesiąc i dzień. W poniższej tabeli przedstawiono sposób partycjonowania obliczeń na każdym poziomie w zależności od wartości Reset
| Poziom/wartość | Reset = -1 | Reset = -2 | Reset = -3 |
|---|---|---|---|
| Poziom dzienny | Miesiąc, Kwartał i Rok | Kwartał i rok | Rok |
| Poziom miesiąca | Kwartał i rok | Rok | Żaden |
| Poziom kwartału | Rok | Żaden | Żaden |
| Rok studiów | Żaden | Żaden | Żaden |
| Poziom sumy końcowej | Żaden | Żaden | Żaden |
Resetuj synonimy parametrów
Parametr Reset zawiera również następujące synonimy:
- NONE jest wartością domyślną. Nie resetuje on obliczeń i jest równoważny 0.
- HIGHESTPARENT wykonuje bezwzględny reset na najwyższym poziomie i jest równoważne wartości 1.
- LOWESTPARENT wykonuje reset względny przez bezpośredni element nadrzędny i jest równoważne -1.
Przykłady użycia parametru Reset
Rozważ obliczenie wizualne z następującymi poziomami hierarchii: Rok, Kwartał, Miesiąc i Dzień. Następujące obliczenia wizualne są równoważne i zwracają sumę Kwota sprzedaży, która jest resetowana w każdym roku, niezależnie od poziomu, na którym obliczenie jest wykonywane (zobacz tryb resetowania bezwzględnego):
RUNNINGSUM([Sales Amount], HIGHESTPARENT)
RUNNINGSUM([Sales Amount], 1)
RUNNINGSUM([Sales Amount], [Year])
Natomiast poniższe obliczenia wizualne zwracają sumę Sales Amount, która zaczyna się od 0 dla każdego bezpośredniego elementu nadrzędnego, w zależności od poziomu, na którym obliczenie jest oceniane (zobacz tryb względnego resetowania).
RUNNINGSUM([Sales Amount], LOWESTPARENT)
RUNNINGSUM([Sales Amount], -1)
Na koniec to wizualne obliczenie nie jest resetowane i kontynuuje dodawanie wartości kwoty sprzedaży dla każdego dnia do poprzednich wartości, bez ponownego rozpoczynania.
RUNNINGSUM([Sales Amount])
OrderBy i PartitionBy
Parametr OrderBy akceptuje ORDERBYparametr , a PartitionBy parametr akceptuje parametr PARTITIONBY. W przeciwieństwie do Axis i Reset możesz używać tych parametrów w kolumnach obliczeniowych, miarach i obliczeniach wizualnych, a także bezpośrednio odwołują się one do pól.
Nie wszystkie funkcje zapewniają te parametry. Funkcje wykluczające obliczenia wizualne nie zapewniają parametru PartitionBy . Funkcje okna udostępniają Reset parametr tylko wtedy, gdy są używane w obliczeniach wizualnych. Parametr Relation w funkcjach okien jest dostępny niezależnie od tego, czy go używasz w obliczeniu wizualnym, czy nie, ale akceptuje Axis tylko wtedy, gdy używasz go w obliczeniu wizualnym.
Wybierz między tymi parametrami
Nie musisz określać wszystkich tych parametrów i można je połączyć. Aby zdecydować, który parametr ma być używany:
- Preferuj Axis i Reset gdy chcesz, aby zachowanie niezależne od pól było zgodne ze strukturą wizualizacji. Odwoływanie się do struktury wizualizacji jest bardziej elastyczne niż jawne odwoływanie się do pól.
- Użyj funkcji OrderBy i PartitionBy , jeśli chcesz przypiąć obliczenia do określonych pól niezależnie od układu wizualizacji.
- Użyj PartitionBy zamiast Reset , gdy oś ma tylko jeden poziom. Reset oczekuje wielu poziomów na osi, więc nie działa, gdy istnieje tylko jedno pole lub gdy na osi istnieje wiele pól.
Selektory parametrów
Selektory parametrów ułatwiają wybieranie wartości parametrów w funkcjach obliczeń wizualnych. Na przykład na poniższym obrazie widzisz wczytany szablon Wyszukiwanie wartości z sumami:
Selektory parametrów można również aktywować za pomocą skrótu klawiaturowego CTRL+SPACJA .
Szablony obliczeń wizualnych
Obliczenia wizualne obejmują szablony ułatwiające pisanie typowych obliczeń. Przycisk szablonu w trybie edycji obliczeń wizualnych otwiera menu dostępnych szablonów.
Dostępne są następujące szablony:
- Suma bieżąca. Oblicza sumę wartości, dodając bieżącą wartość do powyższych wartości. Używa funkcji RUNNINGSUM.
- Średnia ruchoma. Oblicza średnią zestawu wartości w danym oknie, dzieląc sumę wartości według rozmiaru okna. Używa funkcji MOVINGAVERAGE.
- Procent elementu nadrzędnego. Oblicza procent wartości względem jej rodzica. Używa funkcji COLLAPSE.
- Procent sumy końcowej. Oblicza wartość procentową wartości względem wszystkich wartości przy użyciu COLLAPSEALL funkcji .
- Średnia liczba dzieci. Oblicza średnią wartość zestawu wartości podrzędnych. Używa funkcji EXPAND.
- W porównaniu z poprzednimi. Porównuje wartość z poprzednią wartością przy użyciu PREVIOUS funkcji .
- W porównaniu do następnej. Porównuje wartość z kolejną wartością przy użyciu NEXT funkcji .
- Przeciwko pierwszemu. Porównuje wartość z pierwszą wartością przy użyciu funkcji FIRST.
- W porównaniu do ostatniego. Porównuje wartość z ostatnią wartością przy użyciu funkcji LAST.
- Wyszukaj wartość w kontekście. Znajdź wartość lub oceń wyrażenie na wizualnej macierzy w bieżącym kontekście, przy użyciu funkcji LOOKUP.
- Wyszukaj wartość wraz z sumami. Znajdź wartość lub oblicz wyrażenie w macierzy wizualnej z sumami, korzystając z funkcji LOOKUPWITHTOTALS.
Ukrywanie pól w wizualizacji
W trybie edycji obliczeń wizualnych można ukryć pola w wizualizacji tak samo jak w przypadku ukrywania kolumn i tabel w widoku modelowania. Aby na przykład wyświetlić tylko obliczenie wizualizacji Profit , ukryj wartości Sales Amount (Kwota sprzedaży ) i Total Product Cost (Łączny koszt produktu ) z widoku.
Ukrywanie pól nie powoduje usunięcia ich z wizualizacji ani z macierzy wizualizacji, więc obliczenia wizualne mogą nadal odwoływać się do nich i kontynuować pracę. Ukryte pole nadal pojawia się w macierzy wizualizacji, ale nie jest wyświetlane na wynikowej wizualizacji. Uwzględniaj ukryte pola tylko wtedy, gdy są one niezbędne do wykonania obliczeń wizualnych.
Formatowanie obliczeń wizualnych
Sformatuj obliczenie wizualne za pomocą typów danych i opcji formatowania lub za pomocą niestandardowego ciągu formatującego na poziomie elementu wizualnego. Opcje formatowania danych w sekcji Ogólne okienka formatowania kontrolują format.
Rozważania i ograniczenia
Nieobsługiwane typy wizualizacji
Obliczenia wizualne i ukryte pola nie działają z następującymi wizualizacjami:
- Fragmentator, wizualizacja języka R, wizualizacja języka Python
- Kluczowi wpływowi, drzewo dekompozycji, pytania i odpowiedzi, inteligentna narracja
- Metryki, Raport podzielony na strony, Power Apps, Power Automate
- Oś odtwarzania na wykresie punktowym
- Niestandardowe elementy wizualne
Nieobsługiwane funkcje
Następujące funkcje nie są dostępne w obliczeniach wizualnych:
- Filtrowanie, sortowanie lub zmienianie agregacji
- Odwołujące się do siebie (obliczenie nie może się odwoływać do samego siebie)
- Kopiowanie/wklejanie lub ponowne używanie w wizualizacjach
- Kategorie danych, limity danych lub pokazywanie elementów bez danych
- Ciągi formatu dynamicznego (nie można ustawić ani użyć jako ciągu formatu)
- Personalizacja obliczeń wizualnych lub ukrytych pól
- Możesz ustawić alerty dla obliczeń wizualnych, ale zmiany wartości obliczeń wizualnych nie powodują wyzwolenia alertów.
- Zobacz szczegółowe dane rekordów
- Funkcja IntelliSense w usłudze Power BI Embedded
Ograniczenia dotyczące publikowania i udostępniania
- Nie można przypiąć do pulpitów nawigacyjnych
- Nie można używać funkcji Publikuj w Sieci Web
- Eksporty danych wykluczają wyniki obliczeń wizualnych; ukryte pola są wyświetlane tylko w eksportach danych bazowych
Inne ograniczenia
- Parametry pola działają z obliczeniami wizualnymi, ale mają pewne ograniczenia.
- Połączenia na żywo z usługami SQL Server Analysis Services wymagają wersji 2025 lub nowszej.
Treści powiązane
Aby uzyskać więcej informacji na temat korzystania z obliczeń wizualnych, zobacz następujące zasoby:
- Tworzenie obliczeń wizualnych
- Moduł szkoleniowy: tworzenie obliczeń wizualnych w programie Power BI Desktop
- Korzystanie z opcji obliczeń w programie Power BI Desktop
- Tworzenie miar na potrzeby analizy danych w programie Power BI Desktop
- Tworzenie i formatowanie wizualizacji tabel w Power BI — obejmuje sumy niestandardowe, które są obsługiwane przez obliczenia wizualne.