VALUES
Dotyczy:kolumna obliczeniowa
tabela obliczeniowa
Miara
wizualizacji
Gdy parametr wejściowy jest nazwą kolumny, zwraca jednokolumna tabela zawierająca odrębne wartości z określonej kolumny. Zduplikowane wartości są usuwane i zwracane są tylko unikatowe wartości. Można dodać wartość BLANK. Gdy parametr wejściowy jest nazwą tabeli, zwraca wiersze z określonej tabeli. Zduplikowane wiersze są zachowywane. Można dodać wiersz BLANK.
Uwaga
Tej funkcji nie można użyć do zwracania wartości do komórki lub kolumny w arkuszu; zamiast tego używasz go jako funkcji pośredniej, zagnieżdżonej w formule, aby uzyskać listę unikatowych wartości, które mogą być zliczane lub używane do filtrowania lub sumowania innych wartości.
Składnia
VALUES(<TableNameOrColumnName>)
Parametry
Termin | Definicja |
---|---|
TableName lub ColumnName |
Kolumna, z której mają być zwracane unikatowe wartości, lub tabela, z której mają być zwracane wiersze. |
Wartość zwracana
Gdy parametr wejściowy jest nazwą kolumny, tabela z jedną kolumną. Gdy parametr wejściowy jest nazwą tabeli, zwracana jest tabela tych samych kolumn.
Uwagi
Jeśli używasz funkcji VALUES w kontekście, który został odfiltrowany, filtr ma wpływ na unikatowe wartości zwracane przez VALUES. Jeśli na przykład filtrujesz według regionów i zwracasz listę wartości w polu Miasto, lista będzie zawierać tylko te miasta w regionach dozwolonych przez filtr. Aby zwrócić wszystkie miasta, niezależnie od istniejących filtrów, należy użyć funkcji ALL, aby usunąć filtry z tabeli. W drugim przykładzie pokazano użycie ALL z VALUES.
Ta funkcja nie jest obsługiwana w trybie DirectQuery w przypadku użycia w kolumnach obliczeniowych lub regułach zabezpieczeń na poziomie wiersza.
Aby uzyskać najlepsze rozwiązania dotyczące używania VALUES, zobacz Use SELECTEDVALUE zamiast VALUES.
Powiązane funkcje
W większości scenariuszy, gdy argument jest nazwą kolumny, wyniki funkcji VALUES są identyczne z wynikami funkcji DISTINCT
. Obie funkcje usuwają duplikaty i zwracają listę możliwych wartości w określonej kolumnie. Jednak funkcja VALUES może również zwrócić pustą wartość. Ta pusta wartość jest przydatna w przypadkach, w których szukasz różnych wartości z powiązanej tabeli, ale brakuje wartości użytej w relacji z jednej tabeli. W terminologii bazy danych jest to naruszenie integralności referencyjnej. Takie niezgodności w danych mogą wystąpić, gdy jedna tabela jest aktualizowana, a powiązana tabela nie jest.
Gdy argument jest nazwą tabeli, wynik funkcji VALUES zwraca wszystkie wiersze w określonej tabeli oraz pusty wiersz, jeśli występuje naruszenie więzów integralności. Funkcja DISTINCT usuwa zduplikowane wiersze i zwraca unikatowe wiersze w określonej tabeli.
Uwaga
Funkcja DISTINCT umożliwia nazwę kolumny lub dowolne prawidłowe wyrażenie tabeli jako argument, ale funkcja VALUES akceptuje tylko nazwę kolumny lub nazwę tabeli jako argument.
Poniższa tabela zawiera podsumowanie niezgodności między danymi, które mogą wystąpić w dwóch powiązanych tabelach, gdy integralność referencyjna nie jest zachowywana.
Tabela MyOrders | Tabela MySales |
---|---|
1 czerwca | Sprzedaż z 1 czerwca |
2 czerwca | Sprzedaż z 2 czerwca |
(nie wprowadzono dat zamówienia) | Sprzedaż z 3 czerwca |
Jeśli używasz funkcji DISTINCT do zwracania listy dat, zwracane będą tylko dwie daty. Jeśli jednak używasz funkcji VALUES, funkcja zwraca dwie daty i dodatkowy pusty element członkowski. Ponadto każdy wiersz z tabeli MySales, który nie ma pasującej daty w tabeli MyOrders, zostanie "dopasowany" do tego nieznanego elementu członkowskiego.
Przykład
Następująca formuła zlicza unikatowe faktury (zamówienia sprzedaży) i generuje następujące wyniki, gdy są używane w raporcie zawierającym nazwy kategorii produktów:
= COUNTROWS(VALUES('InternetSales_USD'[SalesOrderNumber]))
Zwraca
Etykiety wierszy | Zlicz faktury |
---|---|
Akcesoria | 18,208 |
Rowery | 15,205 |
Odzież | 7,461 |
Suma końcowa | 27,659 |