Obliczone scenariusze tabel i przypadki użycia

Korzystanie z tabel obliczeniowych w przepływie danych przynosi korzyści. W tym artykule opisano przypadki użycia tabel obliczeniowych i opisano sposób ich działania w tle.

Co to jest tabela obliczana?

Tabela reprezentuje dane wyjściowe zapytania utworzonego w przepływie danych po odświeżeniu przepływu danych. Reprezentuje dane ze źródła i, opcjonalnie, przekształcenia, które zostały do niego zastosowane. Czasami warto utworzyć nowe tabele, które są funkcją wcześniej pozyskanej tabeli.

Chociaż istnieje możliwość powtórzenia zapytań, które utworzyły tabelę i zastosowania nowych przekształceń, takie podejście ma wady: dane są pozyskiwane dwukrotnie, a obciążenie źródła danych jest dwukrotnie podwoine.

Tabele obliczane rozwiązują oba problemy. Obliczone tabele są podobne do innych tabel, w których pobierają dane ze źródła i można zastosować dalsze przekształcenia w celu ich utworzenia. Jednak ich dane pochodzą z używanego przepływu danych magazynu, a nie oryginalnego źródła danych. Oznacza to, że zostały one wcześniej utworzone przez przepływ danych, a następnie ponownie użyte.

Tabele obliczane można tworzyć, odwołując się do tabeli w tym samym przepływie danych lub odwołując się do tabeli utworzonej w innym przepływie danych.

Zrzut ekranu przedstawiający obliczoną tabelę.

Dlaczego warto używać obliczonej tabeli?

Wykonywanie wszystkich kroków przekształcania w jednej tabeli może być powolne. Może wystąpić wiele przyczyn tego spowolnienia — źródło danych może być powolne lub przekształcenia, które wykonujesz, mogą być replikowane w co najmniej dwóch zapytaniach. Korzystne może być najpierw pozyskiwanie danych ze źródła, a następnie ponowne użycie ich w co najmniej jednej tabeli. W takich przypadkach można utworzyć dwie tabele: jedną, która pobiera dane ze źródła danych, a drugą — obliczoną tabelę — która stosuje więcej przekształceń do danych już zapisanych w magazynie data lake używanym przez przepływ danych. Ta zmiana może zwiększyć wydajność i możliwość ponownego zastosowania danych, oszczędzając czas i zasoby.

Jeśli na przykład dwie tabele współdzielą nawet część logiki przekształcania, bez obliczonej tabeli, transformacja musi zostać wykonana dwa razy.

Obraz przedstawiający transformację danych występujących dwa razy.

Jeśli jednak jest używana obliczona tabela, wspólna (współdzielona) część transformacji jest przetwarzana raz i przechowywana w usłudze Azure Data Lake Storage. Pozostałe przekształcenia są następnie przetwarzane z danych wyjściowych wspólnej transformacji. Ogólnie rzecz biorąc, przetwarzanie jest znacznie szybsze.

Obraz przedstawiający typowe przekształcenia wykonywane raz w obliczonej tabeli i przechowywane w usłudze Data Lake oraz pozostałe unikatowe przekształcenia występujące później.

Tabela obliczana udostępnia jedno miejsce jako kod źródłowy transformacji i przyspiesza transformację, ponieważ należy wykonać ją tylko raz, a nie wiele razy. Obciążenie źródła danych jest również zmniejszone.

Przykładowy scenariusz użycia tabeli obliczeniowej

Jeśli tworzysz zagregowaną tabelę w usłudze Power BI, aby przyspieszyć model danych, możesz utworzyć zagregowaną tabelę, odwołując się do oryginalnej tabeli i stosując do niej więcej przekształceń. Korzystając z tego podejścia, nie trzeba replikować transformacji ze źródła (części, która pochodzi z oryginalnej tabeli).

Na przykład na poniższej ilustracji przedstawiono tabelę Orders (Zamówienia).

Zrzut ekranu przedstawiający tabelę Orders (Zamówienia).

Korzystając z odwołania z tej tabeli, możesz utworzyć obliczoną tabelę.

Tworzenie obliczonej tabeli.

Zrzut ekranu przedstawiający sposób tworzenia tabeli obliczeniowej z tabeli Orders (Zamówienia). Najpierw kliknij prawym przyciskiem myszy tabelę Orders (Zamówienia) w okienku Zapytania, wybierz opcję Odwołanie z menu rozwijanego. Ta akcja tworzy obliczoną tabelę, której nazwa została zmieniona w tym miejscu na Zagregowane zamówienia.

Tabela obliczeniowa może mieć dalsze przekształcenia. Na przykład można użyć opcji Grupuj według, aby agregować dane na poziomie klienta.

Zrzut ekranu przedstawiający tabelę zagregowaną Orders (Zamówienia) z podkreślonej kolumną Customer (Klient).

Oznacza to, że tabela Orders Aggregated (Zagregowane zamówienia) otrzymuje dane z tabeli Orders (Zamówienia), a nie ze źródła danych. Ponieważ niektóre przekształcenia, które należy wykonać, zostały już wykonane w tabeli Orders (Zamówienia), wydajność jest lepsza, a transformacja danych jest szybsza.

Tabela obliczana w innych przepływach danych

Możesz również utworzyć obliczoną tabelę w innych przepływach danych. Można je utworzyć, pobierając dane z przepływu danych za pomocą łącznika przepływu danych platformy Microsoft Power Platform.

Pobieranie danych z przepływów danych platformy Power Platform.

Obraz podkreśla łącznik przepływów danych platformy Power Platform w oknie Wybieranie źródła danych w dodatku Power Query. Zawiera również opis, który określa, że jedna tabela przepływu danych może być zbudowana na podstawie danych z innej tabeli przepływu danych, która jest już utrwalone w magazynie.

Koncepcja tabeli obliczeniowej polega na utrwalonej tabeli w magazynie i innych tabelach źródłowych, dzięki czemu można skrócić czas odczytu ze źródła danych i udostępnić niektóre typowe przekształcenia. Można to zmniejszyć, uzyskując dane z innych przepływów danych za pośrednictwem łącznika przepływu danych lub odwołując się do innego zapytania w tym samym przepływie danych.

Obliczona tabela: z przekształceniami, czy bez?

Teraz, gdy wiesz, że tabele obliczeniowe doskonale nadają się do poprawy wydajności transformacji danych, dobrym pytaniem jest to, czy przekształcenia powinny być zawsze odroczone do obliczonej tabeli, czy też powinny być stosowane do tabeli źródłowej. Oznacza to, że dane powinny być zawsze pozyskiwane w jedną tabelę, a następnie przekształcane w obliczoną tabelę? Jakie są zalety i wady?

Ładowanie danych bez przekształcania dla plików tekstowych/CSV

Jeśli źródło danych nie obsługuje składania zapytań (takich jak pliki tekstowe/CSV), zastosowanie przekształceń w przypadku pobierania danych ze źródła jest niewielkie, zwłaszcza jeśli woluminy danych są duże. Tabela źródłowa powinna po prostu załadować dane z pliku Text/CSV bez stosowania żadnych przekształceń. Następnie obliczone tabele mogą pobierać dane z tabeli źródłowej i wykonywać transformację na podstawie pozyskanych danych.

Możesz zapytać, jaka jest wartość tworzenia tabeli źródłowej, która pozyskuje tylko dane? Taka tabela może być nadal przydatna, ponieważ jeśli dane ze źródła są używane w więcej niż jednej tabeli, zmniejsza obciążenie źródła danych. Ponadto dane mogą być teraz ponownie używane przez inne osoby i przepływy danych. Tabele obliczane są szczególnie przydatne w scenariuszach, w których ilość danych jest duża lub gdy źródło danych jest dostępne za pośrednictwem lokalnej bramy danych, ponieważ zmniejszają one ruch z bramy i obciążenie źródeł danych za nimi.

Wykonywanie niektórych typowych przekształceń dla tabeli SQL

Jeśli źródło danych obsługuje składanie zapytań, dobrze jest wykonać niektóre przekształcenia w tabeli źródłowej, ponieważ zapytanie jest składane do źródła danych i pobierane są tylko przekształcone dane. Te zmiany zwiększają ogólną wydajność. Zestaw przekształceń, które są wspólne w podrzędnych tabelach obliczeniowych, należy zastosować w tabeli źródłowej, aby można je było składać do źródła. Inne przekształcenia, które mają zastosowanie tylko do tabel podrzędnych, powinny być wykonywane w tabelach obliczeniowych.