Поделиться через


Функция VALUES

Возвращает таблицу с одним столбцом, которая содержит различимые значения из указанной таблицы или столбца. Другими словами, повторяющиеся значения удаляются, и возвращаются только уникальные значения.

ПримечаниеПримечание

Эту функцию нельзя использовать для возвращения результатов в ячейку или столбец на листе. Она служит в качестве промежуточной функции, вложенной в формулу, чтобы получить список уникальных значений, которые можно подсчитать или использовать для фильтрации или суммирования других значений.

Синтаксис

VALUES(<TableNameOrColumnName>)

Параметры

Условие

Определение

Таблица или столбец

Столбец, из которого должны быть возвращены уникальные значения.

Возвращаемое значение

Столбец уникальных значений.

Замечания

Если функция VALUES используется в отфильтрованном контексте, например в сводной таблице, то к уникальным значениям, возвращаемым функцией VALUES, применяется фильтр. Например, если выполняется фильтрация по столбцу Region и возвращается список значений из столбца City, то в список войдут только города из тех регионов, которые разрешены фильтром. Чтобы вернуть полный список городов без учета существующих фильтров, необходимо удалить фильтры из таблицы с помощью функции ALL. Во втором примере показано использование функции ALL вместе с функцией VALUES.

Связанные функции

В большинстве ситуацией результаты функции VALUES совпадают с результатами функции DISTINCT. Обе функции удаляют повторяющиеся значения и возвращают список возможных значений из указанного столбца. Однако функция VALUES также может возвращать неизвестный элемент. Это неизвестное значение полезно в случаях, когда выполняется запрос уникальных значений из связанной таблицы, однако в одной из таблиц отсутствует значение, используемое в связи. В терминологии базы данных такая ситуация называется нарушением ссылочной целостности. Подобные несоответствия данных легко могут происходить, если сама таблица обновляется, а связанная таблица — нет.

В следующей таблице представлены сводные данные о несоответствиях данных, которые могут возникать в двух связанных таблицах, если не сохраняется ссылочная целостность.

Таблица MyOrders

Таблица MySales

1 июня

Продажи за 1 июня

2 июня

Продажи за 2 июня

(даты заказов не введены)

Продажи за 3 июня

Если использовать функцию DISTINCT для получения списка дат из сводной таблицы, содержащей эти таблицы, то будет возвращено только две даты. Однако функция VALUES возвращает две даты и дополнительный пустой элемент. Кроме того, с этим неизвестным элементом будет сопоставляться любая строка из таблицы MySales, для которой отсутствует соответствующая дата в таблице MyOrders.

Пример

Следующая формула подсчитывает количество уникальных счетов-фактур (заказов на продажу) и, когда она используется в отчете, который включает имена категорий продуктов, создает следующие результаты.

Метки строк

Count Invoices

Принадлежности

18,208

Велосипеды

15,205

Одежда

7,461

Общий итог

27,659

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

См. также

Справочник

FILTER, функция

Функция COUNTROWS (DAX)

Другие ресурсы

Функции фильтров (DAX)