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
[DateColumn1] Entre
¡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