Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

В этом разделе вы можете найти ссылки на примеры использования формул DAX в следующих сценариях.

  • Выполнение сложных вычислений

  • Работа с текстом и датами

  • Условные значения и проверка на ошибки

  • Использование аналитики времени

  • Ранжирование и сравнение значений

В этой статье

Приступая к работе

Посетите вики-сайт центра ресурсов DAX, где можно найти все сведения о DAX, включая блоги, образцы, whitepapers и видео, предоставленные ведущими специалистами отрасли и корпорацией Майкрософт.

Сценарии: выполнение сложных вычислений

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

Создание настраиваемых вычислений для стебли

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

Применение фильтра к формуле

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

Функция ФИЛЬТР позволяет задать условия фильтрации с помощью выражения, тогда как другие функции предназначены специально для фильтрации пустых значений.

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

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

  • Какова вклад продаж текущего продукта в общую сумму продаж за год?

  • Какая часть вклада этого подразделения в общую прибыль за все операционные годы по сравнению с другими отделами?

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

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

Другие примеры вычисления пропорций и процентов см. в следующих темах:

Использование значения из внешнего цикла

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

Дополнительные информацию о контексте строк и связанных таблицах, а также о том, как использовать эту концепцию в формулах, см. в контексте формул DAX.

Сценарии: работа с текстом и датами

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

Создание ключевого столбца с помощью конкатена

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

Написание даты на основе частей даты, извлеченных из текстовой даты

Power Pivot для работы с датами используется тип SQL Server даты и времени; Таким образом, если внешние данные содержат даты, отформатированные по-другому (например, если даты написаны в региональном формате, который не распознан обрезком данных Power Pivot, или в данных используются ключи-концевые формулы для получения частей даты с помощью формулы DAX, а затем в их состав в допустимом представлении даты и времени.

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

=ДАТА(ПРАВБ([Значение1];4);ЛЕВЫЙ([Значение1];2);MID([Значение1];2))

Значение1

Результат

01032009

1/3/2009

12132008

12/13/2008

06252007

6/25/2007

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

Определение пользовательского формата даты или числа

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

Изменение типов данных с помощью формулы

В Power Pivot тип данных определяется исходными столбцами, и нельзя явно указать тип данных результата, так как оптимальный тип данных определяется Power Pivot. Тем не менее для обработки типа выходных данных можно использовать неявные преобразования типов данных, Power Pivot типом данных. 

  • Чтобы преобразовать дату или числовую строку в число, умножьте на 1,0. Например, следующая формула вычисляет текущую дату за вычетом 3 дней, а затем выводит соответствующее значение.

    =(СЕГОДНЯ()-3)*1,0

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

    =""& СЕГОДНЯ()

Для возвращения определенного типа данных также можно использовать следующие функции:

Преобразование реальных чисел в числа

Сценарий: условные значения и проверка на ошибки

Как и Excel, в DAX есть функции, которые могут тестировать значения в данных и возвращать другое значение на основе условия. Например, можно создать вычисляемый столбец, который помечит торговых посредников как "Предпочитаемый" или "Значение" в зависимости от объема продаж за год. Функции, проверяющие значения, также полезны для проверки диапазона или типа значений, чтобы предотвратить нарушение вычислений при неожиданных ошибках данных.

Создание значения на основе условия

Вложенные условия ЕСЛИ можно использовать для проверки значений и создания новых значений в условном режиме. В следующих темах содержатся простые примеры условной обработки и условных значений.

Проверка на ошибки в формуле

В отличие Excel, в одной строке вычисляемого столбца нельзя иметь допустимые значения, а в другой строке недопустимые значения. Это значит, что если в какой-либо части столбца Power Pivot есть ошибка, весь столбец помечается ошибкой, поэтому необходимо всегда исправлять ошибки в формулах, которые могут привести к недопустимым значениям.

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

Чтобы избежать ошибок в вычисляемом столбце, используйте сочетание логических и информационных функций для проверки на ошибки и всегда возвращает допустимые значения. Ниже приводится несколько простых примеров того, как это сделать в DAX:

Сценарии: использование аналитики времени

Функции анализа времени DAX включают функции, которые помогают извлекать даты и диапазоны дат из данных. Затем эти даты или диапазоны дат можно использовать для вычисления значений по похожим периодам. Функции аналитики времени также включают функции, которые работают со стандартными интервалами дат, что позволяет сравнивать значения по месяцам, годам или кварталам. Можно также создать формулу для сравнения значений первой и последней дат заданного периода.

Список всех функций аналитики времени см. в списке Функции аналитики времени (DAX). Советы по эффективному использованию дат и времени при анализе Power Pivot см. в power Pivot.

Расчет совокупных продаж

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

Сравнение значений с течением времени

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

Расчет значения по пользовательскому диапазону дат

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

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

  • Функция PARALLELPERIOD

    Примечание: Если вам не нужно указывать настраиваемый диапазон дат, но вы работаете со стандартными единицами бухгалтерского учета, такими как месяцы, кварталы или годы, мы рекомендуем выполнять вычисления с помощью функций аналитики времени, предназначенных для этой цели, таких как TOTALQTD, TOTALMTD, TOTALQTD и т. д.

Сценарии: ранжирование и сравнение значений

Чтобы показать только n n элементов в столбце или в pivotTable, можно сделать это несколькими вариантами.

  • С помощью функций Excel 2010 можно создать верхний фильтр. Вы также можете выбрать несколько верхних или нижних значений в одной из них. В первой части этого раздела описано, как отфильтровать первые 10 элементов в этой статье. Дополнительные сведения см. в Excel документации.

  • Вы можете создать формулу для динамического ранжирования значений, а затем отфильтровать их по значениям ранжирования или использовать его в качестве среза. Во второй части этого раздела описано, как создать эту формулу, а затем использовать ранжирование в срезе.

У каждого метода есть свои преимущества и недостатки.

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

  • Формула DAX является более мощной; Кроме того, добавив значение ранжирования в срез, вы можете просто щелкнуть срез, чтобы изменить количество отображаемых верхних значений. Однако вычисления в вычислениях дорого стоить, и этот метод может быть не подходит для таблиц с большим количеством строк.

Показать только десять лучших элементов в pivotTable

Вывод верхних или нижних значений в итоговом окте

  1. В pivotTable щелкните стрелку вниз в заголовке Подписи строк.

  2. Выберите Фильтры значений>10лучших .

  3. В диалоговом окне 10 фильтров <имя столбца>выберите столбец, который нужно ранжировать, и количество значений:

    1. Выберите Сверху, чтобы увидеть ячейки с самыми высокими значениями, или Снизу, чтобы увидеть ячейки с наименьшими значениями.

    2. Введите нужное количество верхних или нижних значений. Значение по умолчанию — 10.

    3. Выберите, как должны отображаться значения:

Имя

Описание

Элементы

Выберите этот параметр, чтобы отфильтровать с помощью фильтра в pivottable только список верхних или нижних элементов по их значениям.

Процент

Выберите этот параметр, чтобы отфильтровать pivottable, чтобы отображались только элементы, которые добавляются к указанному проценту.

Сумма

Выберите этот параметр, чтобы отобразить сумму значений для верхних или нижних элементов.

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

  2. Нажмите кнопку ОК.

Динамический порядок элементов с помощью формулы

В следующей статье приводится пример использования DAX для создания ранжирования, храняногося в вычисляемом столбце. Поскольку формулы DAX вычисляются динамически, вы всегда можете убедиться, что ранжирование правильно, даже если изменились данные. Кроме того, поскольку формула используется в вычисляемом столбце, вы можете использовать ранжирование в срезе, а затем выбрать 5 лучших, 10 лучших или даже 100 лучших значений.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×