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]))
Zobacz także