Entendiendo FECHAS ENTRE

Un usuario Pregunto ✅

shampbi

¿Alguien podría decirme cuál es la diferencia entre las siguientes dos expresiones?

SI (FECHAS ENTRE (Tabla[DateColumn], HOY (), CustomTable[LastOfMonth]), 1, 0)
SI (FECHAS ENTRE (Tabla[DateColumn], CustomTable[LastOfMonth], HOY ()), 1, 0)

El primero falla: «Se proporcionó una tabla de varios valores donde se esperaba un solo valor»

Solo cambió el orden de las fechas en comparación. El primero tiene más sentido porque dirías,
«fecha entre ‘fecha de inicio’ y ‘fecha de finalización'». Hoy es siempre menor o igual que el final del mes.

La definición de otras columnas en la expresión es:
CustomTable[LastOfMonth] = EOMONTH (CustomTable[AsOfDate], 0)
CustomTable[AsOfDate] = HOY () – 1

¡Gracias!

Greg_Deckler

En respuesta a shampbi

No, lo arruiné. El problema es que está devolviendo una tabla de valores a su declaración IF y se está confundiendo con eso, ya que espera un valor VERDADERO / FALSO o numérico. Entonces, necesitarías hacer esto:

Measure = IF (COUNTX(DATESBETWEEN(Table[DateColumn], TODAY(), CustomTable[LastOfMonth]),[DateColumn])>0, 1, 0)

DATESBETWEEN devolverá una tabla de una sola columna de fechas entre las fechas especificadas. Pero, esa no es una entrada válida para el primer argumento de una función SI, por lo que debe hacer algo con esa tabla de fechas, como contar cuántos hay.

Greg_Deckler

No está muy bien documentado https://docs.microsoft.com/en-us/dax/datesbetween-function-dax pero DATESBETWEEN solo acepta una referencia de columna de fecha como primer argumento.

shampbi

En respuesta a Greg_Deckler

Gracias, Greg.

¿Significa eso que funciones locales como TODAY () o sus derivadas no se pueden utilizar con DATESBETWEEN?

¿Alguna sugerencia para lograr este pseudocódigo?

[DateColumn1] Entre y

[DateColumn1] Entre y [DateColumn2]

¡Este no es un escenario infrecuente!

Greg_Deckler

En respuesta a shampbi

No, lo arruiné. El problema es que está devolviendo una tabla de valores a su declaración IF y se está confundiendo con eso, ya que espera un valor VERDADERO / FALSO o numérico. Entonces, necesitarías hacer esto:

Measure = IF (COUNTX(DATESBETWEEN(Table[DateColumn], TODAY(), CustomTable[LastOfMonth]),[DateColumn])>0, 1, 0)

DATESBETWEEN devolverá una tabla de una sola columna de fechas entre las fechas especificadas. Pero, esa no es una entrada válida para el primer argumento de una función SI, por lo que debe hacer algo con esa tabla de fechas, como contar cuántos hay.

KeldAlmand

En respuesta a Greg_Deckler

Hola Greg, soy bastante nuevo en la codificación, espero que puedas ayudarme.

Tengo el mismo problema. Quiero averiguar si una fecha determinada en una columna es una fecha entre esa fecha y HOY ()

Mi código es así:

Kolonne 4 = SI (COUNTX (FECHAS ENTRE (Tabel1[DateOne]; HOY ()> 0; 1; 0)))

El error dice algo como esto: Para pocos argumentos para la función DATESBETWEEN, debe haber al menos 3 argumentos para esta función.

Lo siento, me gustaría hacer una nueva banda de rodadura, no tengo el botón para eso, así que trato de poner mi pregunta aquí.

Atentamente

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *