Applies ToExcel dla Microsoft 365 Excel 2024 Excel 2021 Excel 2019 Excel 2016

W modelu danych każda kolumna ma skojarzony typ danych określający typ danych, które może zawierać kolumna: liczby całkowite, liczby dziesiętne, tekst, dane pieniężne, daty i godziny itd. Typ danych określa również rodzaje operacji, które można wykonać w kolumnie, oraz ilość pamięci potrzebną do przechowywania wartości w kolumnie.

Jeśli korzystasz z dodatku Power Pivot, możesz zmienić typ danych kolumny. Może być konieczne zrobienie tego, jeśli kolumna daty została zaimportowana jako ciąg znaków, ale potrzebujesz czegoś innego. Aby uzyskać więcej informacji, zobacz Ustawianie typu danych kolumny w Power Pivot.

W tym artykule

Podsumowanie typów danych

W poniższej tabeli wymieniono typy danych obsługiwane w modelu danych. Podczas importowania danych lub używania wartości w formule, nawet jeśli oryginalne źródło danych zawiera inny typ danych, dane są konwertowane na jeden z tych typów danych. W wartościach wynikających z formuł są również używane te typy danych.

Typ danych w programie Excel

Typ danych w języku DAX

Opis

Liczba całkowita

64-bitowa (osiem bajtów) wartość całkowita 1, 2

Liczby, które nie mają miejsc dziesiętnych. Liczby całkowite mogą być liczbami dodatnimi lub ujemnymi, ale muszą być liczbami całkowitymi między -9 223 372 036 854 775 808 (-2^63) a 9 223 372 036 854 775 807 (2^63-1).

Liczba dziesiętna

64-bitowa (osiem bajtów) liczba rzeczywista 1, 2

Liczby rzeczywiste to liczby, które mogą mieć miejsca dziesiętne. Liczby rzeczywiste obejmują szeroki zakres wartości:

Wartości ujemne od -1,79E +308 do -2,23E -308

Zero

Wartości dodatnie od 2,23E -308 do 1,79E + 308

Liczba cyfr znaczących jest jednak ograniczona do 15 cyfr dziesiętnych.

PRAWDA/FAŁSZ

wartość logiczna

Wartość Prawda lub Fałsz.

Text (Tekst)

Ciąg

Ciąg danych znaku 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 mega znaków) lub 536 870 912 bajtów.

Data

Data/godzina

Daty i godziny w zaakceptowanej reprezentacji daty i godziny.

Prawidłowe daty to wszystkie daty po 1 stycznia 1900 roku.

Waluta

Waluta

Typ danych Waluta umożliwia wartości z zakresu od -922 337 203 685 477,5808 do 922 337 203 685 477,5807 przy stałej dokładności czterech cyfr dziesiętnych.

N/D

Pusty

Puste to typ danych w języku DAX, który reprezentuje i zastępuje wartości null SQL. Możesz utworzyć puste pole przy użyciu funkcji PUSTE, a następnie przetestować puste miejsca przy użyciu funkcji logicznej CZY.PUSTA.

1 Formuły języka DAX nie obsługują typów danych mniejszych niż wymienione w tabeli.

2 Jeśli spróbujesz zaimportować dane o bardzo dużych wartościach liczbowych, importowanie może zakończyć się niepowodzeniem z powodu następującego błędu:

Błąd bazy danych w pamięci: Kolumna "nazwa kolumny <>" tabeli "<nazwa tabeli>" zawiera wartość "1,7976931348623157e+308", która nie jest obsługiwana. Operacja została anulowana.

Ten błąd występuje, ponieważ Power Pivot używa tej wartości do reprezentowania wartości null. Wartości na poniższej liście są synonimami wartości null:

Value (Wartość)

9223372036854775807

-9223372036854775808

1,7976931348623158e+308

2.2250738585072014e-308

Usuń wartość z danych i spróbuj zaimportować ją ponownie.

Typ danych tabeli

Język DAX używa typu danych tabeli w wielu funkcjach, takich jak agregacje i obliczenia analizy czasowej. Niektóre funkcje wymagają odwołania do tabeli. inne funkcje zwracają tabelę, która może być następnie używana jako dane wejściowe do innych funkcji. W niektórych funkcjach wymagających tabeli jako danych wejściowych można określić wyrażenie, które jest obliczane jako tabela. w przypadku niektórych funkcji wymagane jest odwołanie do tabeli podstawowej. Aby uzyskać informacje na temat wymagań określonych funkcji, zobacz Dokumentacja funkcji języka DAX.

Niejawna i jawna konwersja typu danych w formułach języka DAX

Każda funkcja języka DAX ma określone wymagania dotyczące typów danych używanych jako dane wejściowe i wyjściowe. Na przykład niektóre funkcje wymagają liczb całkowitych dla niektórych argumentów i dat dla innych. inne funkcje wymagają tekstu lub tabel.

Jeśli dane w kolumnie określonej jako argument są niezgodne z typem danych wymaganym przez funkcję, w wielu przypadkach język DAX zwraca błąd. Jednak tam, gdzie to możliwe, język DAX podejmie próbę niejawnego przekonwertowania danych na wymagany typ danych. Na przykład:

  • Możesz wpisać datę jako ciąg, a język DAX przearodkuje ciąg i spróbuje go oddać jako jeden z formatów daty i godziny systemu Windows.

  • Możesz dodać prawda + 1 i uzyskać wynik 2, ponieważ niejawnie jest konwertowany na liczbę 1 i wykonywana jest operacja 1+1.

  • Jeśli dodajesz wartości w dwóch kolumnach, a jedna wartość jest reprezentowana jako tekst ("12"), a druga jako liczba (12), język DAX niejawnie konwertuje ciąg na liczbę, a następnie dodaje wynik liczbowy. Następujące wyrażenie zwraca wartość 44: = "22" + 22

  • Jeśli spróbujesz połączyć dwie liczby, program Excel przedstawi je jako ciągi, a następnie połącz. Następujące wyrażenie zwraca wartość "1234": = 12 & 34

W poniższej tabeli podsumowano niejawne konwersje typów danych wykonywane w formułach. Program Excel wykonuje konwersje niejawne, gdy tylko jest to możliwe, zgodnie z wymaganiami określonej operacji.

Tabela niejawnych konwersji danych

Typ wykonywanej konwersji jest określany przez operator, który emituje wymagane wartości przed wykonaniem żądanej operacji. W tych tabelach wymieniono operatory i wskazano konwersję wykonywaną dla każdego typu danych w kolumnie, gdy jest ona sparowana z typem danych w przecinającym się wierszu.

Uwaga: Typy danych tekstu nie są uwzględniane w tych tabelach. Gdy liczba jest reprezentowana jak w formacie tekstowym, w niektórych przypadkach Power Pivot podejmie próbę określenia typu liczby i reprezentowania jej jako liczby.

Dodawanie (+)

Operator (+)

INTEGER

CURRENCY

REAL

Data/godzina

INTEGER

INTEGER

CURRENCY

REAL

Data/godzina

CURRENCY

CURRENCY

CURRENCY

REAL

Data/godzina

REAL

REAL

REAL

REAL

Data/godzina

Data/godzina

Data/godzina

Data/godzina

Data/godzina

Data/godzina

Jeśli na przykład podczas operacji dodawania użyto liczby rzeczywistej w połączeniu z danymi walutowymi, obie wartości zostaną przekonwertowane na wartość REAL, a wynik zostanie zwrócony jako RZECZYWISTY.

Odejmowanie (-)

W poniższej tabeli nagłówek wiersza to miniuend (po lewej stronie), a nagłówek kolumny to odejmowanie (po prawej stronie).

Operator (-)

INTEGER

CURRENCY

REAL

Data/godzina

INTEGER

INTEGER

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

REAL

Data/godzina

Data/godzina

Data/godzina

Data/godzina

Data/godzina

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

Uwaga: Modele danych obsługują również operator niepowiązany — (ujemny), ale ten operator nie zmienia typu danych operandu.

Mnożenie (*)

Operator (*)

INTEGER

CURRENCY

REAL

Data/godzina

INTEGER

INTEGER

CURRENCY

REAL

INTEGER

CURRENCY

CURRENCY

REAL

CURRENCY

CURRENCY

REAL

REAL

CURRENCY

REAL

REAL

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

Dział (/)

W poniższej tabeli nagłówek wiersza to numerator, a nagłówek kolumny to mianownik.

Operator (/)

(Wiersz/kolumna)

INTEGER

CURRENCY

REAL

Data/godzina

INTEGER

REAL

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

REAL

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

Data/godzina

REAL

REAL

REAL

REAL

Jeśli na przykład liczba całkowita zostanie połączona z wartością walutową w operacji dzielenia, obie wartości zostaną przekonwertowane na liczby rzeczywiste, a wynik będzie również liczbą rzeczywistą.

Operatory porównania

W wyrażeniach porównania wartości logiczne są uważane za większe niż wartości ciągów, a wartości ciągów są uważane za większe niż wartości liczbowe lub wartości daty/godziny. liczby i wartości daty/godziny są traktowane jako takie same. Nie są wykonywane konwersje pośrednie dla wartości logicznych lub ciągów; Wartość PUSTA lub pusta jest konwertowana na wartość 0/"/"/fałsz w zależności od typu danych drugiej porównywanej wartości.

Następujące wyrażenia języka DAX ilustrują następujące zachowanie:

=JEŻELI(FAŁSZ()>"prawda";"Wyrażenie jest prawdziwe", "Wyrażenie jest fałszywe"), zwraca "Wyrażenie jest prawdziwe"

=JEŻELI("12">12;"Wyrażenie jest prawdziwe", "Wyrażenie ma wartość fałszywą"), zwraca wartość "Wyrażenie jest prawdziwe".

=JEŻELI("12"=12;"Wyrażenie jest prawdziwe", "Wyrażenie jest fałszywe") zwraca wartość "Wyrażenie jest fałszywe"

Konwersje są wykonywane niejawnie dla typów liczb lub daty/godziny zgodnie z opisem w poniższej tabeli:

Operator porównania

INTEGER

CURRENCY

REAL

Data/godzina

INTEGER

INTEGER

CURRENCY

REAL

REAL

CURRENCY

CURRENCY

CURRENCY

REAL

REAL

REAL

REAL

REAL

REAL

REAL

Data/godzina

REAL

REAL

REAL

Data/godzina

Początek strony

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

W języku DAX wartość null, pusta, pusta komórka lub brakująca wartość są reprezentowane przez ten sam nowy typ wartości— BLANK. Można również generować puste wartości przy użyciu funkcji PUSTE lub sprawdzać, czy są puste, używając funkcji CZY.PUSTA.

Sposób obsługi pustych miejsc w operacjach, takich jak dodawanie lub łączenie, zależy od poszczególnych funkcji. W poniższej tabeli podsumowano różnice między formułami języka DAX i programu Microsoft Excel w sposobie obsługi pustych elementów.

Expression

DAX

Excel

PUSTE + PUSTE

PUSTY

0 (zero)

PUSTE +5

5

5

PUSTE * 5

PUSTY

0 (zero)

5/BLANK

Nieskończoność

Błąd

0/BLANK

Nan

Błąd

PUSTE/PUSTE

PUSTY

Błąd

FAŁSZ LUB PUSTE

FALSE

FALSE

FAŁSZ I PUSTE

FALSE

FALSE

PRAWDA LUB PUSTE

TRUE

TRUE

PRAWDA I PUSTE

FAŁSZ

PRAWDA

PUSTE LUB PUSTE

PUSTY

Błąd

PUSTE I PUSTE

PUSTY

Błąd

Aby uzyskać szczegółowe informacje na temat sposobu, w jaki określona funkcja lub operator obsługuje puste pola, zobacz poszczególne tematy dotyczące poszczególnych funkcji języka DAX w sekcji Dokumentacja funkcji języka DAX.

Początek strony

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.