Typy danych w programie Power BI Desktop

W tym artykule opisano typy danych obsługiwane w programie Power BI Desktop i języku wyrażeń analizy danych (DAX, Data Analysis Expressions).

Podczas ładowania danych program Power BI Desktop podejmuje próbę przekonwertowania typu danych kolumny źródłowej, tak aby zapewnić lepszą wydajność magazynowania, obliczeń i wizualizacji danych. Na przykład jeśli kolumna zaimportowana z programu Excel nie zawiera wartości ułamkowych, program Power BI Desktop przekonwertuje całą kolumnę danych na liczby całkowite, które lepiej nadają się do przechowywania wartości całkowitych.

Takie podejście jest ważne, ponieważ niektóre funkcje języka DAX mają specjalne wymagania dotyczące typu danych. W wielu przypadkach język DAX automatycznie przeprowadzi niejawną konwersję typu danych, ale nie zawsze. Na przykład jeśli funkcja języka DAX wymaga typu danych Data, ale kolumna zawiera wartości tekstowe, funkcja ta nie będzie działać prawidłowo. Z tego względu zagwarantowanie, aby w kolumnie znajdowały się dane o prawidłowym typie, jest ważne i przydatne. Niejawne konwersje zostały opisane w dalszej części tego artykułu.

Określanie typu danych w kolumnie

W Power BI Desktop można określić i określić typ danych kolumny w Edytor Power Query lub w widoku danych lub widoku raportu:

Typy danych w Edytor Power Query

Screenshot of the Data type ribbon, showing it in the Query Editor.

Typy danych w widoku danych lub widoku raportu

Screenshot of the Data type ribbon, showing it in the Data View.

Lista rozwijana Typ danych w Edytor Power Query zawiera dwa typy danych, które nie są obecnie obecne w widoku danych lub raportu: data/godzina/strefa czasowa i czas trwania. Jeśli kolumna zawierająca dane jednego z tych typów zostanie załadowana do modelu i wyświetlona w widoku danych lub widoku raportu, dane typu Data/godzina/strefa czasowa zostaną przekonwertowane na typ Data/godzina, a dane typu Czas trwania — na typ Liczba dziesiętna.

Typ danych binarnych nie jest obecnie obsługiwany poza Edytor Power Query. Wewnątrz Edytor Power Query można go użyć podczas ładowania plików binarnych, jeśli przekonwertujesz je na inne typy danych przed załadowaniem go do modelu Power BI. Ze względu na starsze wersje typ ten jest dostępny w menu Widok danych i Widok raportu, jednak w przypadku załadowania kolumn binarnych do modelu usługi Power BI mogą wystąpić błędy.

Typy liczbowe

Program Power BI Desktop obsługuje trzy typy liczbowe:

Liczba dziesiętna — reprezentuje 64-bitową (8-bajtową) liczbę zmiennoprzecinkową. To najczęściej spotykany typ liczbowy, odpowiadający powszechnemu postrzeganiu liczb. Jest on przeznaczony do obsługi liczb z częścią ułamkową, ale można go również używać do obsługi liczb całkowitych. Typ Liczba dziesiętna zapewnia obsługę wartości ujemnych z przedziału od -1,79E +308 do -2,23E -308, liczby 0 oraz wartości dodatnich z przedziału od 2,23E -308 do 1,79E +308. Na przykład liczby 34, 34,01 i 34,000367063 to prawidłowe liczby dziesiętne. Największa precyzja, jaką można przedstawić za pomocą typu Liczba dziesiętna, składa się z 15 cyfr. Separator dziesiętny może występować w dowolnym miejscu takiej liczby. Program Excel przechowuje liczby za pomocą typu Liczba dziesiętna. Typ danych Liczba dziesiętna jest określony w modelu obiektów tabelarycznych (TOM) jako Typ wyliczenia DataType.Double 1.

Stałoprzecinkowa liczba dziesiętna — miejsce separatora dziesiętnego jest stałe. Z prawej strony separatora dziesiętnego zawsze znajdują się cztery cyfry, a liczba cyfr znaczących wynosi 19. Największa wartość, którą można przedstawić za pomocą tego typu, to 922 337 203 685 477,5807 (dodatnia lub ujemna). Typ Stałoprzecinkowa liczba dziesiętna jest przydatny w sytuacjach, w których zaokrąglanie może powodować błędy. Dotyczy to przypadków obejmujących działania na wielu liczbach z małymi wartościami ułamkowymi, które czasami mogą się sumować, co wpływa na nieznaczną zmianę wyniku. Użycie typu Stałoprzecinkowa liczba dziesiętna pomaga uniknąć takich błędów, ponieważ wartości znajdujące się za czterema cyframi dziesiętnymi są obcinane. Jeśli znasz SQL Server, ten typ danych odpowiada wartościom dziesiętnym SQL Server (19 4) lub Typ danych Waluty w usługach Analysis Services i dodatku Power Pivot w Excel. Typ danych Stałej liczby dziesiętnej jest określony w tom jako typ wyliczenia DataType.Decimal 1.

Liczba całkowita — reprezentuje 64-bitową (8-bajtową) wartość całkowitą. Jako liczba całkowita, nie ma ona cyfr dziesiętnych. Za pomocą 19 cyfr pozwala ona przedstawiać dodatnie lub ujemne liczby całkowite z przedziału od -9 223 372 036 854 775 807 (-2^63+1) do 9 223 372 036 854 775 806 (2^63-2). Typ ten umożliwia reprezentację największej możliwej precyzji różnych typów liczbowych. Podobnie jak typ Stałoprzecinkowa liczba dziesiętna, typ Liczba całkowita może być przydatny w sytuacjach wymagających kontroli nad zaokrąglaniem. Typ danych Liczba całkowita jest określony w elemecie TOM jako Typ wyliczenia DataType.Int64 1.

Uwaga

Model danych programu Power BI Desktop obsługuje 64-bitowe wartości całkowite, ale największa liczba możliwa do wyrażenia przez wizualizacje to 9 007 199 254 740 991 (2 ^ 53 - 1) ze względu na ograniczenia języka JavaScript. Jeśli pracujesz z liczbami w modelu danych powyżej, możesz zmniejszyć rozmiar za pomocą obliczeń przed dodaniem ich do wizualizacji.

1 - DataType wyliczenia są określone we właściwości kolumna DataType tabelaryczna. Aby dowiedzieć się więcej na temat programowego modyfikowania obiektów w Power BI, zobacz Programowanie Power BI zestawów danych za pomocą modelu obiektów tabelarycznych.

Zapewnianie dokładności obliczeń typu liczbowego

Wartości kolumn typu danych Liczba dziesiętna są przechowywane jako przybliżone typy danych zgodnie z normą IEEE 754 Standard dla liczb zmiennoprzecinkowych . Przybliżone typy danych mają pewne ograniczenia dokładności , ponieważ zamiast przechowywać dokładną wartość liczby, mogą być przechowywane jako bardzo blisko lub zaokrąglone przybliżenie. Oznacza to, że istnieje możliwość utraty dokładności lub nieprecyzji, jeśli liczba cyfr zmiennoprzecinkowych nie może być niezawodnie kwantyfikowana w wartości zmiennoprzecinkowej. Potencjalna niezgodność może pojawić się jako nieoczekiwane lub niedokładne obliczenia w niektórych scenariuszach raportowania.

Obliczenia wykonujące porównania związane z równością (=, <>, >= i <=) między wartościami typu danych Liczba dziesiętna może potencjalnie zwracać nieoczekiwane wyniki. Jest to najbardziej widoczne w przypadku używania funkcji RANKX w wyrażeniu języka DAX, w którym wynik jest obliczany dwa razy, co powoduje nieco inne liczby. Różnica między dwiema liczbami nie jest zauważalna przez użytkownika raportu, ale wynik klasyfikacji może być zauważalnie niedokładny. Aby uniknąć nieoczekiwanych wyników, możesz zmienić typ danych kolumny z Liczba dziesiętna na Stałą liczbę dziesiętną lub Liczbę całkowitą albo wykonać wymuszone zaokrąglenie przy użyciu funkcji ROUND. Typ danych Stała liczba dziesiętna ma większą precyzję, ponieważ separator dziesiętny zawsze ma cztery cyfry po prawej stronie.

Podczas gdy rzadkie obliczenia sumujące wartości kolumny typu danych Liczba dziesiętna mogą potencjalnie zwracać nieoczekiwane wyniki. Jest to najbardziej prawdopodobne w przypadku kolumn, które mają zarówno dużą liczbę dodatnią, jak i dużą liczbę ujemną. Wynik sumy ma wpływ na rozkład wartości między wierszami w kolumnie. Jeśli obliczenie wymagane do zwrócenia wyników zapytania sumuje większość liczb dodatnich przed sumowaniem większości liczb ujemnych, suma częściowa na początku może potencjalnie utracić precyzję, ponieważ może być niesymetryczna przez dużą dodatnią sumę częściową. Z drugiej strony, jeśli zapytanie ma na celu dodanie zrównoważonych liczb dodatnich i ujemnych, suma zachowa większą precyzję i dlatego zwraca dokładniejsze wyniki. Aby uniknąć nieoczekiwanych wyników, możesz zmienić typ danych kolumny z Liczba dziesiętna na Stałą liczbę dziesiętną lub Liczbę całkowitą.

Typy daty/godziny

Program Power BI Desktop obsługuje pięć typów danych daty/godziny w widoku zapytania. Zarówno typ Data/godzina/strefa czasowa, jak i typ Czas trwania są konwertowane podczas ładowania do modelu. Model danych program Power BI Desktop obsługuje tylko datę/godzinę, ale może ona być formatowana jako data lub godzina niezależnie.

Data/godzina — reprezentuje wartość daty oraz godziny. Wartość Data/godzina jest wewnętrznie przechowywana jako liczba dziesiętna. Dzięki temu wartość jednego typu można konwertować na drugi typ — i odwrotnie. Część godzinowa daty jest przechowywana jako ułamek będący wielokrotnością 1/300 sekundy (3,33 ms). Obsługiwane są daty od 1900 r. do 9999 r.

Data — reprezentuje tylko datę (bez części godzinowej). Po przekonwertowaniu na model wartość typu Data jest taka sama jak wartość typu Data/godzina bez części ułamkowej.

Godzina — reprezentuje tylko godzinę (bez części datowej). Po przekonwertowaniu na model wartość typu Godzina jest taka sama jak wartość typu Data/godzina bez cyfr z lewej strony separatora dziesiętnego.

Data/godzina/strefa czasowa — reprezentuje datę/godzinę UTC z przesunięciem strefy czasowej. W przypadku ładowania do modelu wartość ta jest konwertowana na typ Data/godzina. Model usługi Power BI nie dostosowuje strefy czasowej na podstawie lokalizacji użytkownika, ustawień regionalnych itp. Jeśli wartość 09:00 jest załadowana w modelu w Stanach Zjednoczonych, będzie wyświetlana jako 09:00, gdy raport zostanie otwarty lub wyświetlony.

Czas trwania — reprezentuje okres. W przypadku ładowania do modelu wartość ta jest konwertowana na typ Liczba dziesiętna. Z tego względu można ją dodawać lub odejmować od pola typu Data/godzina, uzyskując poprawne wyniki. Można również łatwo z niej korzystać w wizualizacjach przedstawiających wartości.

Typ Tekst

Tekst — ciąg danych znakowych Unicode. Mogą to być ciągi, liczby lub daty reprezentowane w formacie tekstowym. Maksymalna długość ciągu to 268 435 456 znaków Unicode (256 mebiznaków) lub 536 870 912 bajtów.

Power BI przechowuje dane w sposób, który może spowodować, że dane będą wyświetlane inaczej w niektórych sytuacjach. W tej sekcji opisano typowe sytuacje podczas pracy z danymi tekstowymi, które mogą się nieznacznie zmieniać między wykonywaniem zapytań dotyczących danych przy użyciu Power Query, a następnie po załadowaniu danych.

Aparat, który przechowuje i wysyła zapytania do danych w Power BI jest bez uwzględniania wielkości liter - co oznacza, że silnik traktuje różne litery co ta sama wartość: a jest równa A. Power Query jednak uwzględnia wielkość liter: wartośća nie jest równa A. Różnica w przypadku, gdy wrażliwość prowadzi do sytuacji, w których dane tekstowe są ładowane do Power BI, a następnie zmieniają wielkość liter, pozornie niewytłumaczalnie. W poniższym prostym przykładzie załadowaliśmy dane dotyczące zamówień: kolumna OrderNo , która jest unikatowa dla każdego zamówienia i kolumny Adres , która zawiera nazwę adresata, która jest wprowadzana ręcznie w momencie zamówienia. W Power Query te dane są wyświetlane w następujący sposób:

Textual data with various capitalizations in Power Query

Zwróć uwagę, że istnieje wiele zamówień o tej samej nazwie co adres, chociaż wprowadzona do systemu nieco inaczej.

Gdy przejdziemy do karty Dane w Power BI po załadowaniu danych, ta sama tabela wygląda następująco:

The same textual data after loading into Power BI has changed capitalization

Zwróć uwagę, że wielkie litery niektórych nazw zmieniły się od sposobu, w jaki został pierwotnie wprowadzony. Ta zmiana polega na tym, że aparat przechowujący dane w Power BI jest bez uwzględniania wielkości liter i traktuje małe litery i wielką wersję tego samego znaku co ten sam. Power Query jest rozróżniana wielkość liter, dlatego rozróżnia te dane i dlatego pokazuje dane dokładnie tak, jak były przechowywane w systemie źródłowym. Jednak dane na drugim zrzucie ekranu zostały załadowane do aparatu Power BI i w związku z tym uległy zmianie.

Podczas ładowania danych aparat oblicza każdy wiersz , jeden po drugim, zaczynając od góry. Dla każdej kolumny tekstowej (takiej jak Adres) aparat przechowuje słownik unikatowych wartości w celu osiągnięcia wydajności poprzez kompresję danych. Podczas przetwarzania kolumny Adres pierwsze trzy wartości, z których korzysta aparat, są unikatowe i przechowywane w słowniku. Jednak od czwartej nazwy (kolejność 1004) dalej, ponieważ silnik jest bez uwzględniania wielkości liter, nazwy są postrzegane jako takie same: Taina Hasu jest taka sama jak TAINA HASU , a także Taina HASU. W rezultacie aparat nie przechowuje tej nazwy, ale odwołuje się do imienia, na które się natknął. Wyjaśnia to również, dlaczego nazwa MURALI DAS jest zapisywana w wielkich literach, ponieważ jest to po prostu sposób, w jaki nazwa została zapisana, gdy aparat po raz pierwszy ocenił go podczas ładowania danych u góry do dołu.

Na tym obrazie wyjaśniono ten proces: Depiction of the data load process and mapping text values to a dictionary of unique values

W powyższym przykładzie aparat ładuje pierwszy wiersz danych, tworzy słownik adresowy i dodaje do niego taina Hasu . Dodaje również odwołanie do tej wartości w kolumnie Adres w załadowanej tabeli. Robi to również dla drugiego i trzeciego wiersza, ponieważ obie te nazwy nie są równoważne innym w porównaniu z przypadkiem ignorowania.

Adres czwartego wiersza jest porównywany z nazwami w słowniku i jest znaleziony: ponieważ aparat nie uwzględnia wielkości liter, TAINA HASU i Taina Hasu są takie same. W związku z tym aparat nie dodaje nowej nazwy do słownika adresowego , a zamiast tego odwołuje się do istniejącej nazwy. Jest to takie samo dla pozostałych wierszy.

Uwaga

Ponieważ aparat, który przechowuje dane i wykonuje zapytania w Power BI jest bez uwzględniania wielkości liter, należy zachować szczególną ostrożność podczas pracy w trybie DirectQuery ze źródłem, w przypadku którego jest rozróżniana wielkość liter. Power BI zakłada, że źródło wyeliminowało zduplikowane wiersze. Ponieważ Power BI jest rozróżniana wielkość liter, dwie wartości różniące się tylko wielkością liter są traktowane jako duplikaty, a źródło może nie być traktowane jako takie. W takich przypadkach ostateczny wynik jest niezdefiniowany i należy go unikać. Jeśli używasz trybu DirectQuery, a w źródle danych jest rozróżniana wielkość liter, musisz znormalizować wielkość liter w zapytaniu źródłowym lub w Power Query.

Typ prawda/fałsz

Prawda/fałsz — wartość logiczna Prawda lub Fałsz.

Power BI konwertuje i wyświetla dane inaczej w niektórych sytuacjach. W tej sekcji opisano typowe przypadki konwertowania wartości logicznych oraz sposób rozwiązywania konwersji, które tworzą nieoczekiwane wyniki w Power BI.

Aby uzyskać najlepsze i najbardziej spójne wyniki, podczas ładowania kolumny zawierającej informacje logiczne (true/false) do Power BI ustaw typ kolumny na True/False zgodnie z opisem i wyjaśniony w poniższym przykładzie.

W tym przykładzie załadowaliśmy dane dotyczące tego, czy nasi klienci zarejestrowali się w naszym biuletynie: wartość TRUE wskazuje, że klient zarejestrował się w biuletynie. Wartość FALSE wskazuje, że klient nie zarejestrował się. Jednak po opublikowaniu raportu w usługa Power BI zauważymy, że kolumna śledząca stan rejestracji biuletynu jest wyświetlany jako 0 i -1 zamiast oczekiwanych wartości TRUE lub FALSE. Poniższe kolekcje kroków obejmujących wykonywanie zapytań, publikowanie i odświeżanie danych opisują, jak występują konwersje i jak je rozwiązać.

Uproszczone zapytanie dla tej tabeli pokazane na poniższej ilustracji.

Columns set to boolean

Typ danych kolumny Subskrybowany biuletyn jest ustawiony na Wartość Dowolna, a w wyniku tego ustawienia typu danych dane są ładowane jako tekst do modelu Power BI:

Data loaded into Power B I appears as expected

Po dodaniu prostej wizualizacji pokazującej szczegółowe informacje dla klienta dane są wyświetlane w wizualizacji zgodnie z oczekiwaniami, zarówno w Power BI Desktop, jak i po opublikowaniu w usługa Power BI.

Visual shows data appearing as expected

Jednak podczas odświeżania zestawu danych w usługa Power BI kolumny Subskrybowany biuletyn w wizualizacjach są wyświetlane wartości jako -1 i 0, zamiast wyświetlać je jako PRAWDA lub FAŁSZ:

Visual shows data appearing in an unexpected format after refresh

Jeśli ponownie opublikujemy raport z Power BI Desktop, w kolumnie Subskrybowane biuletyn ponownie zostanie wyświetlona wartość TRUE lub FALSE, ale po odświeżeniu w usługa Power BI wartości zostaną ponownie zmienione tak, aby pokazywały wartości -1 i 0.

Rozwiązaniem, aby upewnić się, że tak się nie stanie, jest ustawienie żadnych kolumn logicznych na typ Prawda/Fałsz w Power BI Desktop i ponowne opublikowanie raportu.

Change the data type of the column to true false

Po wprowadzeniu zmiany wizualizacja pokazuje wartości w kolumnie Subskrybowane biuletyny nieco inaczej; zamiast tekstu zawierającego wszystkie wielkie litery (jak wprowadzono w tabeli), są teraz kursywą i tylko pierwsza litera jest pisana wielkimi literami, co jest wynikiem zmiany typu danych kolumny.

Values appear differently when the data type is changed

Po zmianie i ponownym opublikowaniu typu danych na usługa Power BI, a po zakończeniu odświeżania wartości są wyświetlane jako Prawda lub Fałsz, zgodnie z oczekiwaniami.

When true or false values use the true false data type, data appears as expected after refresh

Podsumowując, podczas pracy z danymi logicznymi w Power BI upewnij się, że kolumny są ustawione na typ danych Prawda/Fałsz w Power BI Desktop.

Typ Blank/null

Blank (wartość pusta) — typ danych w języku DAX, który reprezentuje i zastępuje wartości null języka SQL. Wartości puste można tworzyć za pomocą funkcji BLANK, a do sprawdzania, czy dana wartość jest wartością pustą, służy funkcja logiczna ISBLANK.

Typ danych Binarny

Typ danych Binarny umożliwia przedstawienie dowolnych danych w formacie binarnym. Wewnątrz Edytor Power Query można go użyć podczas ładowania plików binarnych, jeśli przekonwertujesz je na inne typy danych przed załadowaniem go do modelu Power BI. Kolumny binarne nie są obsługiwane w modelu danych Power BI. Ze względu na starsze wersje typ ten jest dostępny w menu Widok danych i Widok raportu, jednak w przypadku załadowania kolumn binarnych do modelu usługi Power BI mogą wystąpić błędy.

Uwaga

Jeśli kolumna binarna znajduje się w danych wyjściowych kroków zapytania, próba odświeżenia danych za pomocą bramy może spowodować błędy. Zaleca się jawne usuwanie wszystkich kolumn binarnych w ramach ostatniego kroku zapytań.

Typ danych Table

Typ danych Table jest używany w języku DAX w wielu funkcjach, takich jak agregacje i obliczenia analizy czasowej. Niektóre funkcje wymagają odwołania do tabeli; inne funkcje zwracają tabelę, której można następnie używać jako danych wejściowych innych funkcji. W niektórych funkcjach wymagających tabeli jako danych wejściowych można określić wyrażenie, którego wynikiem jest tabela; w przypadku niektórych innych funkcji wymagane jest odwołanie do tabeli podstawowej. Aby uzyskać informacje dotyczące wymagań określonych funkcji, zobacz temat Funkcje języka DAX — kompendium.

Jawna i niejawna konwersja typu danych w formułach języka DAX

Poszczególne funkcje języka DAX mają konkretne wymagania dotyczące typów danych wejściowych i wyjściowych. Na przykład argumenty niektórych funkcji muszą być liczbami całkowitymi, a innych — datami. Jeszcze inne funkcje wymagają wartości tekstowych lub tabel.

Jeśli dane w kolumnie podanej jako argument są niezgodne z typem danych wymaganych przez funkcję, w wielu przypadkach język DAX zwróci błąd. Jednak gdy tylko jest to możliwe, język DAX podejmie próbę niejawnej konwersji danych na wymagany typ danych. Na przykład:

  • Można wpisać datę jako ciąg, a w języku DAX ciąg ten zostanie zanalizowany i nastąpi próba zrzutowania go na jeden z formatów daty i godziny systemu Windows.
  • Można wykonać dodawanie PRAWDA+1 i otrzymać wynik 2, ponieważ wartość PRAWDA jest niejawnie konwertowana na liczbę 1 i przeprowadzana jest operacja 1+1.
  • W przypadku dodawania wartości tekstowej (np. „12”) do liczby (12) język DAX niejawnie konwertuje ciąg na liczbę, a następnie wykonuje operację dodawania, uzyskując wynik liczbowy. Następujące wyrażenie zwraca wynik 44: = "22" + 22.
  • Jeśli spróbujesz złączyć dwie liczby, program Excel przedstawi je jako ciągi, a następnie połączy. Następujące wyrażenie zwraca wartość "1234": = 12 & 34.

Tabela niejawnych konwersji danych

O typie przeprowadzanej konwersji decyduje operator, który przed wykonaniem żądanej operacji rzutuje wymagane przez siebie wartości. Poniższe tabele zawierają listę operatorów i wskazują, jaka konwersja jest przeprowadzana dla danego typu danych w kolumnie, jeśli „spotka się” on z innym typem danych w przecinającym ją wierszu.

Uwaga

Typy danych tekstowych nie zostały uwzględnione w tych tabelach. Jeśli wartość liczbowa zostanie przedstawiona w formacie tekstowym, w niektórych przypadkach usługa Power BI spróbuje ustalić typ tej wartości i przedstawić ją jako liczbę.

Dodawanie (+)

Operator (+) LICZBA CAŁKOWITA CURRENCY LICZBA RZECZYWISTA Data/godzina
LICZBA CAŁKOWITA LICZBA CAŁKOWITA CURRENCY LICZBA RZECZYWISTA Data/godzina
CURRENCY CURRENCY WALUTA LICZBA RZECZYWISTA Data/godzina
LICZBA RZECZYWISTA LICZBA RZECZYWISTA LICZBA RZECZYWISTA LICZBA RZECZYWISTA Data/godzina
Data/godzina Data/godzina Data/godzina Data/godzina Data/godzina

Jeśli na przykład liczba rzeczywista jest używana w operacji dodawania w połączeniu z danymi walutowymi, obie wartości są konwertowane na liczby rzeczywiste i wynikiem jest wartość typu Liczba rzeczywista.

Odejmowanie (-)

W poniższej tabeli nagłówek wiersza jest odjemną (lewa strona), a nagłówek kolumny jest odjemnikiem (prawa strona).

Operator (-) LICZBA CAŁKOWITA CURRENCY LICZBA RZECZYWISTA Data/godzina
LICZBA CAŁKOWITA LICZBA CAŁKOWITA CURRENCY LICZBA RZECZYWISTA LICZBA RZECZYWISTA
CURRENCY CURRENCY WALUTA LICZBA RZECZYWISTA LICZBA RZECZYWISTA
LICZBA RZECZYWISTA LICZBA RZECZYWISTA LICZBA RZECZYWISTA LICZBA RZECZYWISTA LICZBA RZECZYWISTA
Data/godzina Data/godzina Data/godzina Data/godzina Data/godzina

Jeśli na przykład data jest używana w operacji odejmowania razem z jakimkolwiek innym typem danych, obie wartości są konwertowane na daty i zwracana wartość jest również datą.

Uwaga

Modele danych obsługują także operator jednoargumentowy - (negacja), ale ten operator nie zmienia typu danych argumentu.

Mnożenie (*)

Operator (\*) LICZBA CAŁKOWITA CURRENCY LICZBA RZECZYWISTA Data/godzina
LICZBA CAŁKOWITA LICZBA CAŁKOWITA CURRENCY LICZBA RZECZYWISTA LICZBA CAŁKOWITA
CURRENCY WALUTA LICZBA RZECZYWISTA CURRENCY WALUTA
LICZBA RZECZYWISTA LICZBA RZECZYWISTA CURRENCY LICZBA RZECZYWISTA LICZBA RZECZYWISTA

Jeśli na przykład liczba całkowita jest używana w operacji mnożenia w połączeniu z liczbą rzeczywistą, obie liczby są konwertowane na liczby rzeczywiste i zwracana wartość jest również liczbą rzeczywistą.

Dzielenie (/)

W poniższej tabeli nagłówek wiersza jest licznikiem, a nagłówek kolumny jest mianownikiem.

Operator (/) (wiersz/kolumna) LICZBA CAŁKOWITA CURRENCY LICZBA RZECZYWISTA Data/godzina
LICZBA CAŁKOWITA LICZBA RZECZYWISTA CURRENCY LICZBA RZECZYWISTA LICZBA RZECZYWISTA
CURRENCY WALUTA LICZBA RZECZYWISTA CURRENCY LICZBA RZECZYWISTA
LICZBA RZECZYWISTA LICZBA RZECZYWISTA LICZBA RZECZYWISTA LICZBA RZECZYWISTA LICZBA RZECZYWISTA
Data/godzina LICZBA RZECZYWISTA LICZBA RZECZYWISTA LICZBA RZECZYWISTA LICZBA RZECZYWISTA

Jeśli na przykład liczba całkowita jest używana w operacji dzielenia w połączeniu z wartością walutową, obie wartości są konwertowane na liczby rzeczywiste i wynik jest również liczbą rzeczywistą.

Operatory porównania

W wyrażeniach porównania wartości logiczne są traktowane jako większe niż wartości ciągu, a wartości ciągu są traktowane jako większe niż wartości daty/godziny. Wartości liczbowe i wartości daty/godziny są traktowane jako równe. W przypadku wartości logicznych lub wartości ciągu nie są wykonywane niejawne konwersje. Wartość pusta (BLANK) jest konwertowana na wartość 0/""/fałsz, w zależności od typu danych drugiej porównywanej wartości.

Poniższe wyrażenia języka DAX pokazują to zachowanie:

=IF(FALSE()>"true","Wyrażenie jest prawdziwe", "Wyrażenie jest fałszywe"), zwraca "Wyrażenie jest prawdziwe"

=IF("12">12,"Wyrażenie jest prawdziwe", "Wyrażenie jest fałszywe"), zwraca "Wyrażenie jest prawdziwe"

=IF("12"=12,"Wyrażenie jest prawdziwe", "Wyrażenie jest fałszywe"), zwraca "Wyrażenie jest fałszywe"

Konwersje typów liczbowych i daty/godziny są wykonywane niejawnie, tak jak pokazano w poniższej tabeli:

Operator porównania LICZBA CAŁKOWITA CURRENCY LICZBA RZECZYWISTA Data/godzina
LICZBA CAŁKOWITA LICZBA CAŁKOWITA CURRENCY LICZBA RZECZYWISTA LICZBA RZECZYWISTA
CURRENCY CURRENCY WALUTA LICZBA RZECZYWISTA LICZBA RZECZYWISTA
LICZBA RZECZYWISTA LICZBA RZECZYWISTA LICZBA RZECZYWISTA LICZBA RZECZYWISTA LICZBA RZECZYWISTA
Data/godzina LICZBA RZECZYWISTA LICZBA RZECZYWISTA LICZBA RZECZYWISTA Data/godzina

Obsługa wartości pustych, ciągów pustych i wartości zerowych

W języku DAX wartość null, wartość pusta, pusta komórka i wartość brakująca są reprezentowane przez ten sam nowy typ wartości — BLANK. Można również generować wartości puste, używając funkcji BLANK, a do sprawdzania, czy dana wartość jest wartością pustą, służy funkcja ISBLANK.

Sposób obsługi wartości pustych w operacjach, takich jak dodawanie i łączenie, zależy od indywidualnej funkcji. W poniższej tabeli podsumowano różnice w sposobie obsługi wartości pustych w formułach języka DAX i programu Microsoft Excel.

Wyrażenie DAX Excel
BLANK + BLANK BLANK 0 (zero)
BLANK + 5 5 5
BLANK * 5 BLANK 0 (zero)
5/BLANK Nieskończoność Błąd
0/BLANK NaN Błąd
BLANK/BLANK BLANK Błąd
Fałsz LUB BLANK Fałsz Fałsz
Fałsz I BLANK Fałsz Fałsz
Prawda LUB BLANK Prawda Prawda
Prawda I BLANK Fałsz Prawda
BLANK LUB BLANK BLANK Błąd
BLANK I BLANK BLANK Błąd

Następne kroki

Możesz wykonywać różne czynności za pomocą Power BI Desktop i danych. Aby uzyskać więcej informacji na temat jego możliwości, skorzystaj z następujących zasobów: