Udostępnij za pośrednictwem


Funkcja VALUES

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

[!UWAGA]

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(<TableNameOrColumnName>)

Parametry

Termin

Definicja

Tabela lub 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 funkcja VALUES może również zwracać 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 powiązanych tabelach 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]))

Zobacz także

Odwołanie

Funkcja FILTER

Funkcja COUNTROWS (język DAX)

Inne zasoby

Funkcje filtru (język DAX)