Typy danych obsługiwane w skoroszytach programu PowerPivot
W tej sekcji opisano typy danych, które mogą być używane w PowerPivot for Exceli omówiono niejawna konwersja typów danych podczas obliczania lub używane w formule wyrażenia analizy danych (DAX). danych
Typy danych używane w programie PowerPivot for Excel
Obsługiwane są następujące typy danych używanych w PowerPivot.W przypadku importu danych lub użycia wartości w formule, nawet jeśli oryginalne źródło danych zawiera inny typ danych, dane są konwertowane na jeden z poniższych typów danych.Dla wartości wynikających z formuł również są używane te typy danych.
Zazwyczaj te typy danych są implementowane włączyć dokładne obliczenia w kolumnach obliczeniowych i spójności te same ograniczenia stosuje się do pozostałej części danych w PowerPivot.
Formaty używane dla liczb, walut, dat i godzin powinny być zgodne z formatem wynikającym z ustawień regionalnych określonych na komputerze użytym do otwarcia skoroszytu.Do sterowania sposobem wyświetlania wartości można używać opcji formatowania w arkuszu.
Typ danych w interfejsie użytkownika programu PowerPivot |
Typ danych w języku DAX |
Opis |
Liczba całkowita |
Wartość całkowita 64-bitowych (8 bajtów) 1, 2 |
Liczby bez miejsc dziesiętnych.Liczby całkowite mogą być dodatnie lub ujemne, ale muszą być liczbami całkowitymi z zakresu od -9 223 372 036 854 775 808 (-2^63) do 9 223 372 036 854 775 807 (2^63-1). |
Liczba dziesiętna |
Liczba rzeczywista 64-bitowych (8 bajtów) 1, 2 |
Liczby rzeczywiste to liczby, które mogą mieć miejsca dziesiętne.Liczby rzeczywiste obejmują szeroką gamę wartości: Wartości ujemne z zakresu od -1,79E +308 do -2,23E -308 Zero Wartości dodatnie z zakresu od 2,23E -308 do 1,79E + 308 Jednak maksymalna liczba cyfr znaczących to 17 cyfr dziesiętnych. |
PRAWDA/FAŁSZ |
Boolean |
Wartość Prawda lub Fałsz. |
Tekst |
String |
Ciąg danych zwierający znaki w formacie Unicode.Mogą to być ciągi, liczby lub daty wyrażone w formacie tekstowym. Maksymalna długość ciągu to 268 435 456 znaków Unicode (256 megaznaków) lub 536 870 912 bajtów. |
Data |
Data/godzina |
Daty i godziny w akceptowanym formacie daty/godziny. Prawidłowe daty są późniejsze niż 1 marca 1900 roku. |
Waluta |
Waluta |
Typ danych Waluta umożliwia używanie wartości z zakresu od -922 337 203 685 477,5808 do 922 337 203 685 477,5807 z czterema cyframi dziesiętnymi stałej dokładności. |
Brak |
Blank |
Blank (wartość pusta) to typ danych w języku DAX reprezentujący i zastępujący 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. |
1 Formuły języka DAX nie obsługują typów danych mniejszych niż wymienione w tabeli.
2 Podczas próby importowania danych, który ma bardzo duże wartości liczbowych, może się nie powieść przywóz następujący błąd:
Błąd bazy danych w pamięci: "<Nazwa kolumna>" Kolumna '<Nazwa tabela>" Tabela zawiera wartość ' 1.7976931348623157e + 308 ", który nie jest obsługiwany.Operacja została anulowana.
Ten błąd występuje, ponieważ program PowerPivot używa wymienionej w komunikacie wartości do przedstawiania wartości null.Wartości przedstawione na poniższej liście są synonimami wspomnianej uprzednio wartości null:
Wartość |
9223372036854775807 |
-9223372036854775808 |
1,7976931348623158e+308 |
2,2250738585072014e-308 |
Należy usunąć wartość z danych i ponownie podjąć próbę importu.
Typ danych Table
Ponadto korzysta z DAX tabela typu danych.Ten typ danych 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 Informacje dotyczące funkcji języka DAX używanych w programie PowerPivot.
Niejawna i jawna konwersja typów 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 jako pewnych argumentów i dat jako 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 języku DAX w wielu przypadkach jest zwracany błąd.Jednak ilekroć to możliwe, w języku DAX następuje próba 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 dodać TRUE + 1 i uzyskać wynik 2, ponieważ PRAWDA jest niejawnie konwertowane na numer 1 i wykonywana jest operacja 1 + 1.
W przypadku dodawania wartości w dwóch kolumnach, gdy jedna wartość jest przedstawiona jako tekst („12”), a druga jako liczba (12), w języku DAX następuje niejawna konwersja ciągu na liczbę i przeprowadzane jest dodawanie dające wynik liczbowy.44 Zwróci następujące wyrażenie: = "22" + 22
Jeśli próba złączyć dwie liczby PowerPivot -dodatek będą prezentować je jako ciągi i następnie złączyć. "1234" Zwróci następujące wyrażenie: = 12 & 34
W poniższej tabeli podsumowano niejawne konwersje typów danych przeprowadzane w formułach.Ogólnie rzecz biorąc PowerPivot zachowuje się jak Microsoft Excel i wykonuje konwersje niejawne, ilekroć to możliwe, gdy wymagane przez określonego działania.
Tabela niejawnych konwersji typów 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.
Ostrzeżenie
Tekstowe typy danych nie są uwzględnione w tych tabelach.Gdy liczba jest reprezentowana w formacie tekstowym, w niektórych przypadkach PowerPivot podejmie próbę określenia typu Liczba i reprezentuje ją jako liczbę.
Dodawanie (+)
Operator (+) |
Liczba całkowita |
Waluta |
Liczba rzeczywista |
Data/godzina |
Liczba całkowita |
Liczba całkowita |
Waluta |
Liczba rzeczywista |
Data/godzina |
Waluta |
Waluta |
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 |
Na przykład jeśli liczba rzeczywista jest używana w operacji dodawania w połączeniu z danych walutowych, obie wartości są konwertowane na rzeczywistym i wyniki są zwracane jako rzeczywistym.
Odejmowanie (-)
W poniższej tabeli nagłówek wiersza jest odjemną (lewa strona), a nagłówek kolumny jest odjemnikiem (prawa strona).
Operator (-) |
Liczba całkowita |
Waluta |
Liczba rzeczywista |
Data/godzina |
Liczba całkowita |
Liczba całkowita |
Waluta |
Liczba rzeczywista |
Liczba rzeczywista |
Waluta |
Waluta |
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ą.
Ostrzeżenie
PowerPivot obsługuje również operator jednoargumentowy-(ujemne), ale tego operatora nie powoduje zmiany typu danych operandu.
Mnożenie (*)
Operator (*) |
Liczba całkowita |
Waluta |
Liczba rzeczywista |
Data/godzina |
Liczba całkowita |
Liczba całkowita |
Waluta |
Liczba rzeczywista |
Liczba całkowita |
Waluta |
Waluta |
Liczba rzeczywista |
Waluta |
Waluta |
Liczba rzeczywista |
Liczba rzeczywista |
Waluta |
Liczba rzeczywista |
Liczba rzeczywista |
Na przykład jeśli całkowitą jest połączone z liczby rzeczywistej w operacja mnożenia, zarówno liczby są konwertowane na liczby rzeczywistej i jest również RZECZYWISTE wartości zwracanej.
Dzielenie (/)
W poniższej tabeli nagłówek wiersza jest licznikiem, a nagłówek kolumny jest mianownikiem.
Operator (/) (Wiersz/Kolumna) |
Liczba całkowita |
Waluta |
Liczba rzeczywista |
Data/godzina |
Liczba całkowita |
Liczba rzeczywista |
Waluta |
Liczba rzeczywista |
Liczba rzeczywista |
Waluta |
Waluta |
Liczba rzeczywista |
Waluta |
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","Expression is true", "Expression is false") zwraca "Expression is true"
=IF("12">12,"Expression is true", "Expression is false") zwraca "Expression is true"
=IF("12"=12,"Expression is true", "Expression is false") zwraca "Expression is false"
Konwersje typów liczbowych i daty/godziny są wykonywane niejawnie, tak jak pokazano w poniższej tabeli:
Operator porównania |
Liczba całkowita |
Waluta |
Liczba rzeczywista |
Data/godzina |
Liczba całkowita |
Liczba całkowita |
Waluta |
Liczba rzeczywista |
Liczba rzeczywista |
Waluta |
Waluta |
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
Sposób obsługi wartości zerowych, wartości null i ciągów pustych w języku DAX jest inny niż w programach Microsoft Excel i SQL Server.W tej sekcji opisano różnice oraz sposób obsługi tych typów danych.
Najważniejsze do zapamiętania jest fakt, że w PowerPivot, wszystkie wartości puste, puste komórka lub brak wartości są reprezentowane przez ten sam nowy typ wartości, pusty.Sposób obsługi wartości pustych w operacjach, takich jak dodawanie i łączenie, zależy od indywidualnej funkcji.Można również generować wartości puste — za pomocą funkcji BLANK, a do sprawdzania, czy dana wartość jest wartością pustą, służy funkcja ISBLANK.Baza danych wartości Null nie są obsługiwane w PowerPivot skoroszyt, a wartości Null są niejawnie konwertowane puste, gdy kolumna zawiera wartość null odwołują się formuły DAX.
Definiowanie wartości pustych, wartości null i ciągów pustych
W następującej tabela zestawiono różnice między DAX i w programie Microsoft Excel w sposób, w jaki obsługiwane są puste.
Wyrażenie |
DAX |
Program Excel |
Wartość pusta + Wartość pusta |
Wartość pusta |
0 (zero) |
Wartość pusta + 5 |
5 |
5 |
Wartość pusta * 5 |
Wartość pusta |
0 (zero) |
5/Wartość pusta |
Nieskończoność |
Błąd |
0/Wartość pusta |
NaN |
Błąd |
Wartość pusta/Wartość pusta |
Wartość pusta |
Błąd |
Fałsz LUB Wartość pusta |
Fałsz |
Fałsz |
Fałsz ORAZ Wartość pusta |
Fałsz |
Fałsz |
Prawda LUB Wartość pusta |
Prawda |
Prawda |
Prawda ORAZ Wartość pusta |
Fałsz |
Prawda |
Wartość pusta LUB Wartość pusta |
Wartość pusta |
Błąd |
Wartość pusta ORAZ Wartość pusta |
Wartość pusta |
Błąd |
Szczegółowe informacje na jak spacje, obsługuje określonej funkcja lub operator znaleźć tematy dla każdej funkcja DAX w sekcji Informacje dotyczące funkcji języka DAX używanych w programie PowerPivot.