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?
v-caliao-msft
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")))
Saludos,
Charlie Liao
alifazal
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»)
v-caliao-msft
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")))
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. ) ) )