Declaración de Dax: se alcanzó el final de la entrada

Un usuario Pregunto ✅

ADN

Estoy intentando crear una declaración IF dax que tendrá alrededor de 5 condiciones y está comparando información entre fechas. Intenté ingresar la declaración y aparece el siguiente mensaje en el mensaje de error «Se alcanzó el final de la entrada» y resalta en rojo las últimas palabras de mi declaración.

¿Qué significa el error «Se alcanzó el final de la entrada»? ¿La declaración DAX tiene una longitud específica?

En respuesta a ADN

Hola @DNA,

Pruebe el DAX a continuación.

Age Group = 
If([borrower dob] >= Date(1930,1,1) && [borrower dob] <= Date(1945,12,31),"Silent Generation",
If([borrower dob] >= Date(1946,1,1) && [borrower dob] <= Date(1964,12,31),"Baby Boomer", 
If ([borrower dob] >= Date(1965,1,1) && [borrower dob] <= Date(1981,12,31),"Gen X","Millennials")))

Capture.PNG

Saludos,

Charlie Liao

alifazal

Nueva tabla =
FILTRAR (
‘VINITMB’,
‘VINITMB'[IFLOC] = «2005»
&& CALCULAR ( SUMA(( [Over Stock]]) <0)
)))))))))))))))))))

ADN

Golpeando esto: soy un nuevo póster y no creo que esto se haya publicado hasta que se verifique el correo electrónico.

KHorseman

En respuesta a ADN

Lo más probable es que signifique que le falta un paréntesis cerrado o que tiene demasiados, o algún otro error de puntuación. Pero es difícil solucionar problemas de una fórmula si no la publica para que podamos ver.

ADN

En respuesta a KHorseman

Esto es lo que estoy tratando de hacer

Tengo una columna en mi tabla llamada Fecha de nacimiento del prestatario en formato de fecha para cada fila

Estoy tratando de crear una nueva columna llamada «Grupo de edad» y usar la Fecha de nacimiento del prestatario para crear una declaración Dax para completar los campos según mi fórmula. Estoy intentando crear los siguientes grupos de edad:

«Generación silenciosa»: si nació entre el 1/1/1930 y el 31/12/1945

«Baby Boomer» – si nació entre el 1/1/1946 y el 31/12/1964

«Generación X»: si nació entre el 1/1/1965 y el 31/12/1981

«Millennials»: si nació después del 1/1/1982

A continuación estaba mi declaración y recibí el mensaje «Se alcanzó el final de la entrada»

Si([borrower dob] > = Fecha (1930,1,1) && {prestatario dob} <= Fecha (1945,12,31), ”Generación silenciosa”, If ({prestatario dob}> = Fecha (1946,1,1) && {prestatario dob} <= Fecha (1964,12,31), "Baby Boomer". If ({prestatario dob}> = Fecha (1965,1,1) && {prestatario dob) <= Fecha (1981,12,31), "Gen X", si ([Borrower DOB] > = FECHA (1982 | 1 | 1) | «Millennials»)

En respuesta a ADN

Hola @DNA,

Pruebe el DAX a continuación.

Age Group = 
If([borrower dob] >= Date(1930,1,1) && [borrower dob] <= Date(1945,12,31),"Silent Generation",
If([borrower dob] >= Date(1946,1,1) && [borrower dob] <= Date(1964,12,31),"Baby Boomer", 
If ([borrower dob] >= Date(1965,1,1) && [borrower dob] <= Date(1981,12,31),"Gen X","Millennials")))

Capture.PNG

Saludos,

Charlie Liao

ADN

En respuesta a v-caliao-msft

Gracias Charlie, eso pareció funcionar. Parece que mi declaración necesitaba arreglarse para tener un tercer argumento

KHorseman

En respuesta a ADN

Tiene todo tipo de errores de sintaxis ahí. Estás usando {llaves} donde deberías usar [square brackets], tiene {llaves abiertas sin un cierre al final, abiertas {llaves cerradas por un corchete]tiene un punto en lugar de una coma, está usando comillas emparejadas en lugar de neutrales, está usando personajes de tubería | en lugar de comas, y faltan dos paréntesis cerrados)) al final. Además de todo eso, su última declaración IF solo tiene 2 argumentos cuando requiere 3.

Necesita espaciar y formatear su código para que le sea más fácil encontrar errores.

IF(
	[Borrower DOB] >= Date(1930, 1, 1) && [Borrower DOB] <= Date(1945, 12, 31),
	"Silent Generation",
	IF(
		[Borrower DOB] >= Date(1946, 1, 1) && [Borrower DOB] <= Date(1964, 12, 31),
		"Baby Boomer",
		IF([Borrower DOB] >= Date(1965, 1, 1) && [Borrower DOB]) <= Date(1981, 12, 31),
		"Gen X",
		IF(
			[Borrower DOB] >= DATE(1982, 1, 1),
			"Millennials",
			YOU'RE MISSING SOMETHING HERE. AN IF STATEMENT REQUIRES 3 ARGUMENTS.
		)
	)
)

Deja un comentario

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