Obliczone scenariusze tabel i przypadki użycia
Korzystanie z tabel obliczeniowych w przepływie danych jest korzystne. 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.
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ą — tabelę obliczeniową — która stosuje więcej przekształceń do danych już zapisanych w jeziorze danych 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.
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.
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).
Korzystając z odniesienia do tej tabeli, możesz utworzyć tabelę obliczeniową.
Zrzut ekranu przedstawiający sposób tworzenia tabeli obliczeniowej z tabeli "Orders" (Zamówienia). Najpierw kliknij prawym przyciskiem myszy tabelę Zamówienia w panelu 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ć Grupuj według w celu agregowania danych na poziomie klienta.
Oznacza to, że tabela Orders Aggregated (Zagregowane zamówienia) pobiera dane z tabeli Orders (Zamówienia), a nie bezpośrednio 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.
Obraz podkreśla łącznik przepływów danych Power Platform w oknie wybierania źródła danych 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ż utrwalona w magazynie.
Koncepcja tabeli obliczeniowej polega na tym, że tabela jest przechowywana w magazynie, a inne tabele są z niej wyprowadzane, dzięki czemu można skrócić czas odczytu ze źródła danych i dzielić się niektórymi wspólnymi przekształceniami. 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. Czy dane powinny być zawsze gromadzone w jednej tabeli, a następnie przekształcane w tabelę obliczeniową? 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ń (na przykład pliki tekstowe/CSV), stosowanie przekształceń przy pobieraniu danych ze źródła ma niewielkie korzyści, zwłaszcza gdy wolumeny 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.