Функция DATEADD
принимает столбец, содержащий даты, в качестве первого параметра, вы передаете таблицу, что и вызывает ошибку. Даже если вы передаете таблицу с одним столбцом, она отличается от столбца.
Обратите внимание, что функции FIRSTNONBLANK
и FIRSTDATE
возвращают таблицу, содержащую один столбец и одну строку с вычисленным первым значением или датой соответственно, поэтому вы передаете таблицу.
Даже если вы передавали один столбец с одной строкой в функцию DATEADD
, она не выдаст ошибок, но ничего не вернет, поскольку DATEADD
возвращает вычисленную дату, если она присутствует в столбце, поэтому, если у вас есть одно значение, больше нет дат для возврата . Если вам непонятно, рассмотрите этот пример, чтобы понять, как работает DATEADD
:
У вас есть эта таблица под названием MyDates
Если вы используете DATEADD
для создания вычисляемого столбца с именем 4MonthsAfter
:
4MonthsAfter = DATEADD(MyDates[Date],4,MONTH)
Он возвращает это:
Как вы можете видеть, столбец 4MonthsAfter
для значения даты 24/08/2016
пуст, так как столбец не содержит значения 24/12/2016
, то же самое происходит и для 24/01/2017
, потому что нет значения 24/05/2017
. Но через 4 месяца после вычисления 24/09/2016
, поскольку в столбце присутствует 24/01/2017
.
Способ работы DATEADD
сильно отличается от способа EDATE
. EDATE
принимает дату (не столбец дат в таблице) в формате даты и времени или в текстовом формате и вычисляет заданное количество месяцев до или после даты.
По сути, DATEADD
ожидает столбец дат в качестве первого параметра, как и большинство функций Time Intelligence., которые предназначены для работы с датой/календарем. таблицы (размеры даты).
Если у вас есть опыт программирования, вы можете запутаться в том, как DATEADD
работает в DAX. Обычно DATEADD
требуется только дата, количество интервалов и определенный интервал (МЕСЯЦ, ДЕНЬ, ГОД, КВАРТАЛ) для вычисления даты, в DAX для этого требуется явный столбец дат в качестве первого параметра.
Позвольте мне знать, если это помогает.
ССЫЛКИ:
ДАТАДОБАВИТЬ
ПЕРВЫЙ НЕПУСТОЙ
ПЕРВАЯДАТА
ДАТА< /а>
person
alejandro zuleta
schedule
24.09.2016