Tabele w usłudze LuckyTemplates: typy i wyróżnienia

Chcę dzisiaj spędzić trochę czasu, rozmawiając o tabelach w usłudze LuckyTemplates. Cały czas napotykamy tabele z każdym problemem, ale tak naprawdę nie spędzamy dużo czasu na myśleniu o nich w pojedynkę. Możesz obejrzeć pełny film z tego samouczka na dole tego bloga.

Niedawno pojawił się post członka LuckyTemplates, Ashtona, który zawsze zadaje dobre, prowokujące do myślenia pytania. Jego zapytanie skłoniło mnie do zastanowienia się nad wzorcem, który widuję dość regularnie i którym chciałbym się zająć w tym samouczku.

To nie był błąd, który popełnił, ale częsty błąd. Widzę wiele razy, kiedy ludzie powiedzieliby, że mają problemy z wirtualnym stołem, na przykład, gdy nie jest to wirtualny stół.

Istnieje rzeczywiste rozróżnienie między typami tabel w usłudze LuckyTemplates.

Podałbym analogię, gdyby ktoś powiedział: „Hej, niedawno adoptowałem psa i mam z nim problem i zastanawiam się, czy możesz pomóc” i to nie jest pies, ale wilk. Oba są psami, ale jest kilka dość dużych różnic, które chcesz wziąć pod uwagę.

Tak więc, chociaż wszystkie należą do tej samej rodziny, podobnie jak tabele w usłudze LuckyTemplates, są to ważne rozróżnienia, które naprawdę wpływają na rozwiązanie i sposób korzystania z tych tabel. Dlatego chciałem wrócić do pytania Ashtona, a następnie zagłębić się nieco w różnice między tabelami, które można znaleźć w usłudze LuckyTemplates, i pokazać, jak wpływa to na sposób, w jaki je obsługujesz.

Pytanie było dość proste, ale jest w nim trochę więcej, niż się początkowo wydaje. Miał prosty zestaw danych, który zawierał tylko klientów, rodzaj zakupionych owoców, ilość, a następnie tylko numer indeksu.

Tabele w usłudze LuckyTemplates: typy i wyróżnienia

Chciał mieć krajalnicę z możliwością wielokrotnego wyboru , aby po wybraniu powiedzmy pomarańczy wyświetlała się lista wszystkich klientów, którzy kupili pomarańcze, ale także pokazywała, co jeszcze kupili.

Tabele w usłudze LuckyTemplates: typy i wyróżnienia

Jeśli więc wyłączymy ten wybór (pomarańczowy), zobaczymy pełny zestaw danych. Widzimy również, że są to dwaj klienci (Joe i Mary), którzy kupili pomarańcze, ale każdy z nich miał również dodatkowy zakup.

Tabele w usłudze LuckyTemplates: typy i wyróżnienia

Pierwszą rzeczą, o której wiemy, jest to, że krajalnica do owoców musi być odłączonym stołem krajalnicy. Gdyby to był zwykły krajalnica, uderzyłbyś w pomarańczę i zasadniczo usunąłby ze stołu wszystko oprócz pomarańczy. Wiemy również, ponieważ jest to dynamiczne, że mamy problem z wirtualnym stołem.

Zagłębmy się w to trochę, ale zanim to zrobimy, przyjrzyjmy się różnym typom tabel, które możemy znaleźć w usłudze LuckyTemplates.

Spis treści

Trzy rodzaje tabel w usłudze LuckyTemplates

Istnieją trzy rodzaje tabel, które regularnie znajdujemy. Pierwsza jest najczęstsza i jest to fizyczna tabela, a to są tak naprawdę Twoje podstawowe dane. Za każdym razem, gdy pobierasz dane lub wprowadzasz dane bezpośrednio za pomocą tej opcji lub w dodatku Power Query , wykonujesz odwołanie lub duplikat albo ładujesz dane za pomocą pustego zapytania, takiego jak tabela dat, jest to tabela fizyczna.

Tabele w usłudze LuckyTemplates: typy i wyróżnienia

Fizyczna tabela nie jest w pełni dynamiczna, ale ma wszystkie inne cechy, które zwiększają rozmiar pliku, ponieważ jest to dane fizyczne. Jest dostępny w dodatku Power Query. Zazwyczaj relacje w modelu danych są budowane za pośrednictwem relacji fizycznych. Nie muszą być, ale zazwyczaj są. Są one używane w przypadku danych podstawowych i można je wizualizować za pomocą widoku danych lub dodatku Power Query.

Tabele w usłudze LuckyTemplates: typy i wyróżnienia

Fizyczna tabela nie jest w pełni dynamiczna, ale ma wszystkie inne cechy, które zwiększają rozmiar pliku, ponieważ jest to dane fizyczne. Jest dostępny w dodatku Power Query. Zazwyczaj relacje w modelu danych są budowane za pośrednictwem relacji fizycznych. Nie muszą być, ale zazwyczaj są. Są one używane w przypadku danych podstawowych i można je wizualizować za pomocą widoku danych lub dodatku Power Query.

Ta tabela, która często jest mylona z wirtualną tabelą, to ta tabela obliczeniowa lub coś, co możemy również nazwać tabelą wyrażeń języka DAX. Ma to bezpośrednią analogię do kolumn obliczeniowych tworzonych za pomocą wyrażeń języka DAX . Odbywa się to za pomocą karty Modelowanie i opcji Nowa tabela, a następnie wprowadza się wyrażenie języka DAX.

Ta tabela, która często jest mylona z wirtualną tabelą, to ta tabela obliczeniowa lub coś, co możemy również nazwać tabelą wyrażeń języka DAX. Ma to bezpośrednią analogię do kolumn obliczeniowych tworzonych za pomocą wyrażeń języka DAX. Odbywa się to za pomocą karty Modelowanie i opcji Nowa tabela, a następnie wprowadza się wyrażenie języka DAX.

Tabele w usłudze LuckyTemplates: typy i wyróżnienia

Jak widać z poniższej tabeli porównawczej, obliczona tabela ma zupełnie inny profil niż tabela fizyczna lub wirtualna. Nie jest w pełni dynamiczny.

Należy go odświeżyć, aby zebrać nowe informacje. Zwiększa fizyczny rozmiar pliku. W przeciwieństwie do zwykłej tabeli fizycznej nie jest ona dostępna w dodatku Power Query. Podobnie jak kolumna obliczeniowa nie jest wyświetlana w dodatku Power Query, tabela obliczeniowa również nie jest wyświetlana. Ale ma inne aspekty fizycznego stołu.

Tabele w usłudze LuckyTemplates: typy i wyróżnienia

Zwykle tabele obliczeniowe służą do obsługi tabel i są częściej używane do debugowania. Dostępne są teraz lepsze narzędzia, takie jak DAX Studio i Edytor tabelaryczny, więc nie są one tak często używane do tego celu. Tę tabelę przeglądasz w widoku danych.

I szczerze mówiąc, podobnie jak w przypadku kolumn obliczeniowych, generalnie jest to coś, od czego należy trzymać się z daleka. Istnieją lepsze sposoby robienia rzeczy niż za pomocą tabel obliczeniowych.

A następnie analogią do miar są prawdziwe wirtualne tabele . Są one tworzone w kontekście miar za pośrednictwem kodu miary DAX. Są w pełni dynamiczne, w przeciwieństwie do pozostałych dwóch typów tabel. Nie zwiększają rozmiaru pliku, ponieważ są dostępne na żądanie. Podobnie jak miary, tabele wirtualne są obliczane na żądanie w pamięci i wszystkie są używane w określonych kontekstach.

Nie są one dostępne w dodatku Power Query. Nie można na nich położyć fizycznego związku. Jeśli łączysz je w swoim modelu danych, robisz to za pomocą relacji wirtualnych, najczęściej za pomocą .

Tabele wirtualne są używane do obliczeń pośrednich w miarach, ponieważ miara nie może zwrócić wartości tabeli, a musi zwrócić wartość skalarną. Tak więc zwykle używasz ich jako tymczasowych obliczeń, na podstawie których generujesz swoje skalery, które są wynikowym produktem twojej miary.

Możesz wizualizować te tabele w narzędziach, takich jak DAX Studio, Edytor tabelaryczny lub Nowa tabela, co ponownie jest prawdopodobnie najmniej pożądanym sposobem, ponieważ zaśmieca model danych wieloma dodatkowymi tabelami, chyba że je usuniesz.

Rozwiązanie pomiaru języka DAX dla wirtualnego stołu

Wracając do pytania Ashtona, patrząc na tabelę, możemy stwierdzić, że jest dynamiczna. Możemy również dokonać wielu wyborów, a to zmienia się w pełni w locie. Dzięki temu wiemy, że jest to stół wirtualny, ponieważ pozostałe dwie (fizyczna i obliczeniowa) nie są w pełni dynamiczne. Wiemy również, że jest to rozłączony stół, o czym wspomniałem na początku.

Tabele w usłudze LuckyTemplates: typy i wyróżnienia

Użyłem koncepcji Rubber Duck, aby rozwiązać ten problem. W poprzednim samouczku mówiłem o koncepcji gumowego kaczki, która polega na opracowaniu koncepcyjnego rozwiązania problemu, zanim zaczniesz zagłębiać się w konkretny język DAX.

I tak, w przypadku rozwiązania z gumowej kaczki, to, co zrobiłem, to po prostu złożyłem ten odłączony stół krajalnicy. Następnie zebrałem wartość tych krajalnic. Następnie wymyśliłem wirtualny stół, który filtrował klientów według tych, którzy kupili pozycje w odłączonym stole.

Następnie wziąłem tę listę klientów i przefiltrowałem nasz oryginalny zestaw danych według tych klientów, aby znaleźć klientów i zakupy dokonane przez tych klientów, oprócz wartości fragmentatora.

Przyjrzyjmy się konkretnemu pomiarowi, aby zobaczyć, jak to się potoczyło, i rozważmy niektóre kwestie związane z pracą z wirtualnymi stołami.

Tabele w usłudze LuckyTemplates: typy i wyróżnienia

Pierwszą rzeczą było opracowanie dwóch miar zbiorów dla naszych wartości. Pierwszym z nich jest wartość odłączonego fragmentatora.

Ponieważ w wymaganiu mieliśmy wybór wielokrotny, oznaczało to, że nie mogliśmy po prostu użyć . Więc to, co zrobiłem, to użycie funkcji do przechwycenia potencjalnie jednego lub więcej wyborów w tym odłączonym krajalniku. W przypadku klientów, ponieważ będziemy mieć jednego klienta w każdym ocenianym wierszu, możemy użyć WYBRANEJ WARTOŚCI.

Następną rzeczą, którą zrobiłem, była zmienna wirtualnej tabeli ( VAR Buyers ), która zaczyna się od . Następnie przechodzi do filtrowania klientów według tego, czy dokonali zakupu owoców, który mieścił się w naszych wartościach odłączonego krajalnika.

Możemy to sprawdzić, wykonując zapytanie w języku DAX. Możemy to zrobić w DAX Studio lub w Edytorze tabelarycznym. Weźmy więc tutaj naszą wirtualną miarę tabeli i skopiujmy ją do Edytora tabelarycznego. Upewnimy się, że daje nam wartości, których oczekujemy, czyli Joe i Mary.

Tabele w usłudze LuckyTemplates: typy i wyróżnienia

Zapytania DAX zawsze zwracają tabele i zawsze zaczynały się od EVALUATE, więc dodajemy tutaj EVALUATE. Jednak nic nie otrzymujemy w wyniku. Dzieje się tak, ponieważ wybrana zmienna zbioru owoców odłączania ( SelDisconnFruit ) nie ma informacji o krajarce. To jest wyrwane z kontekstu.

Tak więc sposobem na przetestowanie tego jest sztuczne ustawienie tej wartości fragmentatora. Zastąpimy tutaj SelDisconnFruit małym stolikiem. Wpisz Orange (wartość tego fragmentatora) między nawiasy klamrowe . A teraz otrzymujemy wynik tutaj, czyli Joe i Mary. Dzięki temu wirtualny stół działa dokładnie tak, jak myśleliśmy.

Tabele w usłudze LuckyTemplates: typy i wyróżnienia

Możemy więc wrócić teraz do naszego wyrażenia miary. Jednym z wyzwań stołów wirtualnych jest to, że można je łatwo tworzyć w obrębie miary . Ale nie możesz zwrócić wirtualnej tabeli jako wyniku miary . Musimy więc zwrócić wartość skalarną, ale to oddaje odpowiedni aspekt wirtualnej tabeli.

Tak więc tutaj mamy wirtualną tabelę, która mówi nam, którzy klienci kupili owoce, które były w krajalnicy wartości. Możemy ustawić inną zmienną ( VAR BuyerIn ), która mówi, że jeśli wybrany klient był w tabeli tego kupującego, to otrzymuje jedynkę . A jeśli nie, dostaje zero .

Tabele w usłudze LuckyTemplates: typy i wyróżnienia

Następnie bierzemy wyniki tego i umieszczamy w okienku filtrowania. Mówimy, że miara kluczowych nabywców wynosi jeden i będą to klienci, którzy kupili, w tym przypadku, pomarańcze.

Tabele w usłudze LuckyTemplates: typy i wyróżnienia

Robiąc to, filtrujemy naszą oryginalną tabelę danych do odpowiednich rekordów. Możesz zobaczyć, że teraz tworzy tę wirtualną tabelę i odpowiednio filtruje na podstawie każdego wyboru.


Tabele wirtualne wewnątrz funkcji iteracyjnych w usłudze LuckyTemplates — koncepcje języka DAX
Tworzenie relacji wirtualnych w usłudze LuckyTemplates przy użyciu funkcji TREATAS
Jak korzystać z funkcji COUNTROWS języka DAX w tabelach wirtualnych

Wniosek

To jest większość tego, co chciałem dzisiaj omówić. Jest to dość prosty przykład wirtualnej tabeli, ale z naciskiem na różnicę między tabelami fizycznymi, tabelami obliczeniowymi i tabelami wirtualnymi.

Istnieje wiele interesujących kwestii do ponownego omówienia w odniesieniu do tabel wirtualnych, szczególnie w przypadku debugowania miar tabel wirtualnych. Wrócę do tego w ciągu najbliższych kilku tygodni, ale na razie to wszystko w tym samouczku.

Dzięki!

Leave a Comment

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

Dodawaj, usuwaj i zmieniaj nazwy kolumn w R za pomocą Dplyr

W tym samouczku omówimy pakiet dplyr, który umożliwia sortowanie, filtrowanie, dodawanie i zmianę nazw kolumn w języku R.

Funkcje zbierania w Microsoft Power Automate

Funkcje zbierania w Microsoft Power Automate

Odkryj różnorodne funkcje zbierania, które można wykorzystać w Power Automate. Zdobądź praktyczne informacje o funkcjach tablicowych i ich zastosowaniu.

Oceń wydajność kodu DAX w DAX Studio

Oceń wydajność kodu DAX w DAX Studio

Z tego samouczka dowiesz się, jak ocenić wydajność kodów DAX przy użyciu opcji Uruchom test porównawczy w DAX Studio.

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Czym jest self w Pythonie: przykłady z życia wzięte

Jak zapisać i załadować plik RDS w R

Jak zapisać i załadować plik RDS w R

Dowiesz się, jak zapisywać i ładować obiekty z pliku .rds w R. Ten blog będzie również omawiał sposób importowania obiektów z R do LuckyTemplates.

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Powrót do pierwszych N dni roboczych — rozwiązanie języka kodowania DAX

Z tego samouczka języka kodowania DAX dowiesz się, jak używać funkcji GENERUJ i jak dynamicznie zmieniać tytuł miary.

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

Zaprezentuj spostrzeżenia przy użyciu wielowątkowej techniki dynamicznych wizualizacji w usłudze LuckyTemplates

W tym samouczku omówiono sposób korzystania z techniki wielowątkowych wizualizacji dynamicznych w celu tworzenia szczegółowych informacji na podstawie dynamicznych wizualizacji danych w raportach.

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

Wprowadzenie do filtrowania kontekstu w usłudze LuckyTemplates

W tym artykule omówię kontekst filtra. Kontekst filtrowania to jeden z głównych tematów, z którym każdy użytkownik usługi LuckyTemplates powinien zapoznać się na początku.

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Najlepsze wskazówki dotyczące korzystania z aplikacji w usłudze online LuckyTemplates

Chcę pokazać, jak usługa online LuckyTemplates Apps może pomóc w zarządzaniu różnymi raportami i spostrzeżeniami generowanymi z różnych źródeł.

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Analizuj zmiany marży zysku w godzinach nadliczbowych — Analizuj za pomocą LuckyTemplates i DAX

Dowiedz się, jak obliczyć zmiany marży zysku przy użyciu technik, takich jak rozgałęzianie miar i łączenie formuł języka DAX w usłudze LuckyTemplates.