Udostępnij za pośrednictwem


Funkcja VALUES (język DAX)

Zwraca jednokolumnową tabelę zawierającą unikatowe wartości z określonej kolumny.Innymi słowy, wartości zduplikowane są usuwane, a zwracane są tylko wartości unikatowe.

Ostrzeżenie

Tej funkcji nie można używać do zwracania wartości do komórki ani kolumny w skoroszycie; używa się jej natomiast jako funkcji pośredniej, zagnieżdżonej w formule, w celu uzyskania listy odmiennych wartości, które mogą zostać zliczone albo użyte do przefiltrowania lub zsumowania innych wartości.

Składnia

VALUES(<column>)

Parametry

Termin

Definicja

kolumna

Kolumna, z której mają zostać zwrócone unikatowe wartości.

Wartość zwracana

Kolumna unikatowych wartości.

Uwagi

Jeśli funkcja VALUES jest używana w kontekście, który został przefiltrowany, takim jak tabela przestawna, filtr wpływa na wartości zwracane przez funkcję VALUES.Na przykład w przypadku filtrowania danych według regionów i zwracania listy wartości dla miast, na liście są uwzględniane wyłącznie miasta dozwolone przez filtr.Aby zostały zwrócone wszystkie miasta, niezależnie od istniejących filtrów, trzeba użyć funkcji ALL w celu usunięcia filtrów z tabeli.Drugi przykład ilustruje użycie funkcji ALL z funkcją VALUES.

Funkcje pokrewne

W większości scenariuszy wyniki funkcji VALUES są takie same jak wyniki funkcji DISTINCT.Obie funkcje usuwają duplikaty i zwracają listę możliwych wartości w kolumnie.Jednakże może również zwracać wartości funkcja Nieznany element członkowski.Ta nieznana wartość jest przydatna w przypadkach, gdy trzeba wyszukać odmienne wartości z tabeli powiązanej, ale w jednej z tabel brakuje wartości używanej w relacji.W terminologii bazodanowej nazywa się to naruszeniem integralności referencyjnej.Niektóre niezgodności w danych mogą się łatwo pojawić, jeśli jedna z tabel zostanie zaktualizowana, a tabela powiązana nie.

W poniższej tabeli podsumowano niezgodności między danymi, które mogą wystąpić w dwóch tabelach powiązanych w przypadku niezachowania integralności referencyjnej.

Tabela MojeZamówienia

Tabela MojaSprzedaż

Czerwiec 1

Sprzedaż w czerwcu 1

Czerwiec 2

Sprzedaż w czerwcu 2

(nie wprowadzono dat zamówień)

Sprzedaż w czerwcu 3

W przypadku użycia funkcji DISTINCT w celu zwrócenia listy dat z tabeli przestawnej zawierającej te tabele zwracane są tylko dwie daty.Natomiast w przypadku użycia funkcji VALUES zwraca ona te same dwie daty oraz dodatkowy pusty element członkowski.Ponadto każdy wiersz z tabeli MojaSprzedaż, który nie ma pasującej daty w tabeli MojeZamówienia, jest „dopasowywany” do tego nieznanego elementu członkowskiego.

Przykład

Poniższa formuła zlicza unikatowe faktury (zamówienia sprzedaży) i tworzy następujące wyniki, gdy jest używana w raporcie zawierającym nazwy kategorii produktów:

Etykiety wierszy

Liczba faktur

Accessories

18,208

Bikes

15,205

Clothing

7,461

Suma końcowa

27,659

=COUNTROWS(VALUES('InternetSales_USD'[SalesOrderNumber]))