Функция 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]))