Nicodemo
Hola a todos,
Recibo un error de sintaxis cuando uso el operador ‘IN’: no se presenta como un error en la barra del editor DAX (es decir, la medida no se presenta como un error), pero solo cuando la medida se usa en un objeto visual: por ejemplo, la medida parece estar bien y no muestra errores, pero luego utilizo la medida en un mosaico y aparece un error que indica que hay un error de sintaxis.
También intenté escribir la medida en DAX en un modelo tabular SSAS y obtengo el mismo error de sintaxis; si alguien pudiera ayudarme, se lo agradecería.
Current Sales Count := CALCULATE( DISTINCTCOUNT('FactSales'[Sales ID]), FILTER('dimSalesAttributes',[Current Status] IN { "Held","Reserved" }) )
He usado ‘IN’ antes exactamente de la misma manera, y funcionó bien, pero esto es extraño. También intenté copiar y pegar literalmente el ejemplo ‘IN’ de la documentación de DAX y simplemente cambié las referencias de campo, y aún obtengo el error de sintaxis.
Me doy cuenta de que la función de filtro no es necesaria, pero está en esta porque es la última versión que probé.
Muchas gracias,
Mella
Anónimo
@Nickodemus prueba esto
Recuento de ventas actual :=
CALCULAR(
DISTINCTCOUNT(‘VentasHechos'[Sales ID]),
FILTER(‘dimSalesAttributes’,’dimSalesAttributes'[Current Status] EN { «Retenido»,»Reservado» })
)
Nicodemo
En respuesta a Anónimo
Gracias @Anónimo, pero me da el mismo error semántico:
«Error semántico: la sintaxis de ‘IN’ es incorrecta».
He tenido que recurrir a la vieja escuela:
‘dimSalesAttributes'[Current Status] = «Retenido» || ‘dimSalesAttributes'[Current Status] = «Reservado», etc, etc
…que funciona bien, pero es bastante frustrante…
¿Alguna otra idea?
Anónimo
En respuesta a Nicodemo
@Nickodemus, ¿puedes compartir tu archivo power bi para que pueda ver qué sucede? Es difícil depurar el problema sin conocer todas las facetas. Probé el código anterior y funcionó para mí.
Nicodemo
En respuesta a Anónimo
No puedo, tengo miedo @Anónimo, debido a datos confidenciales… Sin embargo, actualmente es muy básico.
Tabla de hechos únicos que contiene datos de ventas y una identificación de ventas (con la que estoy tratando de contar). Conectado a una tabla dimSalesAttribute (esencialmente un dim basura) que contiene estados, indicadores y otras dimensiones relacionadas con los hechos. La relación es unidireccional (1:* – dim:fact).
Estoy tratando de hacer un recuento distinto en la columna de ID de ventas de la tabla de hechos en función de varios valores de la [current status] dimensión de la tabla de atributos (basura dim). Pensé que sería bastante fácil simplemente usar la expresión DAX como se indicó anteriormente… recuento distinto donde el atributo está en ‘Retenido’ o ‘Reservado’…
v-cherch-msft
En respuesta a Nicodemo
Hola @Nickodemus
Puede intentar actualizar la versión de escritorio.
Saludos,
cherie
Nicodemo
En respuesta a v-cherch-msft
Gracias por la sugerencia @v-cherch-msft, pero estoy ejecutando las versiones más recientes de SSMS, Visual Studio y Power BI.
Nicodemo
En respuesta a Anónimo
No puedo, tengo miedo @Anónimo, debido a datos confidenciales… Sin embargo, actualmente es muy básico.
Tabla de hechos únicos que contiene datos de ventas y una identificación de ventas (con la que estoy tratando de contar). Conectado a una tabla dimSalesAttribute (esencialmente un dim basura) que contiene estados, indicadores y otras dimensiones relacionadas con los hechos. La relación es unidireccional (1:* – dim:fact).
Estoy tratando de hacer un recuento distinto en la columna de ID de ventas de la tabla de hechos en función de varios valores de la [current status] dimensión de la tabla de atributos (basura dim). Pensé que sería bastante fácil simplemente usar la expresión DAX como se indicó anteriormente… recuento distinto donde el atributo está en ‘Retenido’ o ‘Reservado’…
Anónimo
En respuesta a Nicodemo
@Nickodemus, ¿podría intentar crear un libro de trabajo con datos ficticios e intentar reproducir el problema?
Nicodemo
En respuesta a Anónimo
Gracias de nuevo @Anónimo – Hice lo que sugieres, y recreé versiones extremadamente reducidas de las mismas tablas en CSV, y las agregué al nuevo modelo PBI… ¡Y la medida funciona bien!
Luego volví a mi modelo tabular de SSAS… lo reduje solo a los campos en cuestión, y sigo teniendo el mismo problema… ¡Error de sintaxis con ‘IN’! ¡Lo copié y pegué!
Estoy totalmente perdido en cuanto a por qué no funciona. ¿Lo único que se me ocurre es que hay algo en mi modelo SSAS que no está configurado para usar todas las funciones DAX? ¿es eso posible?
¿Tiene algo que ver con SSAS…? Acabo de probar de otra manera, pero importando las tablas de SQL directamente en PBI y creando la medida, funciona bien… Así que hay algo que hacer con la creación del modelo en SSAS que tanto Visual Studio como PBI no son Me gusta cuando intento crear el modelo SSAS.
Anónimo
En respuesta a Nicodemo
Hola, yo también tengo el mismo problema… – ¿Encontraste una solución para esto?
Anónimo
En respuesta a Nicodemo
@Nickodemus lamentablemente no estoy seguro de esto. ¿Podrías intentar reconstruir el modelo?
Además, la fórmula para IN ¿está agregando el calc al modelo o al archivo power bi? intenta lo contrario de lo que estás haciendo?