VALUES
Если входной параметр является именем столбца, функция возвращает таблицу с одним столбцом, которая содержит различные значения из указанного столбца. Повторяющиеся значения удаляются; возвращаются только уникальные значения. Можно добавить значение BLANK. Если входной параметр является именем таблицы, функция возвращает строки из указанной таблицы. Дублирующиеся строки сохраняются. Можно добавить строку BLANK.
Примечание
Данную функцию не удастся использовать для возвращения значений в ячейку или столбец на листе. Вместо этого ее можно использовать как промежуточную функцию, вложенную в формулу, чтобы получить список уникальных значений, которые можно подсчитать или использовать для фильтрации или суммирования других значений.
Синтаксис
VALUES(<TableNameOrColumnName>)
Параметры
Термин | Определение |
---|---|
TableName или ColumnName | Столбец, из которого должны возвращаться уникальные значения, или таблица, из которой должны возвращаться строки. |
Возвращаемое значение
Если входной параметр является именем столбца, то возвращается таблица с одним столбцом. Если входной параметр является именем таблицы, то возвращается таблица с теми же столбцами.
Remarks
При использовании функции VALUES в контексте, который был отфильтрован, уникальные значения, возвращаемые функцией VALUES, зависят от фильтра. Например, если выполняется фильтрация по региону и возвращается список значений для City, список будет включать только города в регионах, разрешенных фильтром. Чтобы вернуть все города независимо от существующих фильтров, необходимо использовать функцию ALL для удаления фильтров из таблицы. Во втором примере демонстрируется использование функции ALL совместно с функцией VALUES.
Эта функция не поддерживается для использования в режиме DirectQuery при использовании в вычисляемых столбцах или правилах безопасности на уровне строк (RLS).
Рекомендации по использованию VALUES см. в статье Использование SELECTEDVALUE вместо VALUES.
Связанные функции
В большинстве случаев, когда аргумент является именем столбца, результаты функции VALUES идентичны значениям функции DISTINCT. Обе функции удаляют повторяющиеся значения и возвращают список возможных значений в указанном столбце. Однако функция VALUES также может возвращать пустое значение. Это пустое значение полезно в тех случаях, когда выполняется поиск уникальных значений из связанной таблицы, но значение, используемое в связи, отсутствует в одной таблице. В терминологии баз данных это называется нарушением целостности данных. Такие несоответствия в данных могут возникать, когда одна таблица обновляется, а связанная таблица — нет.
Если аргумент является именем таблицы, результат функции VALUES возвращает все строки в указанной таблице плюс пустую строку, если нарушена целостность данных. Функция DISTINCT удаляет повторяющиеся строки и возвращает уникальные строки в указанной таблице.
Примечание
Функция DISTINCT допускает, чтобы имя столбца или любое допустимое табличное выражение было аргументом, тогда как функция VALUES принимает в качестве аргумента только имя столбца или имя таблицы.
В следующей таблице приведены несоответствия между данными, которые могут возникнуть в двух связанных таблицах, если нарушена целостность данных.
Таблица MyOrders | Таблица MySales |
---|---|
June 1 | June 1 sales |
June 2 | June 2 sales |
(даты заказов не указаны) | June 3 sales |
Если для возвращения списка дат используется функция DISTINCT, будут получены только две даты. Однако при использовании функции VALUES возвращаются две даты плюс дополнительный пустой элемент. Кроме того, любая строка из таблицы MySales, которая не имеет соответствующей даты в таблице MyOrders, будет сопоставлена с этим неизвестным элементом.
Пример
Следующая формула подсчитывает количество уникальных счетов (заказов на продажу) и возвращает следующие результаты при использовании в отчете, который содержит имена категорий продуктов:
= COUNTROWS(VALUES('InternetSales_USD'[SalesOrderNumber]))
Результаты
Метки строк | Количество счетов |
---|---|
Accessories | 18 208 |
Bikes | 15 205 |
Clothing | 7461 |
Grand Total | 27 659 |