Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Variante de medida devuelve valor diferente

Hola

Estoy calculando un distinctcount usando la instrucción filter de la siguiente manera:

Recuento único = Calculate(Distinctcount(Event_date), filter(Table, Table[Notified_event]="TRUE" || (Tabla['Event_type']=3 && Tabla['Event_status']="1"))))

La tabla['Event_type'] tiene tres valores, es decir, 1,2 y 3. Cuando Table[Notified_event] tiene el valor "TRUE" significa que Event_type valor es igual a 2.

La medida anterior devuelve algún número. Sin embargo, cuando cambié la medida anterior de manera diferente como se muestra a continuación:

Variante Recuento único =

Var _notified = Max(Tabla, Tabla[Notified_event])

Var _Type = MAx(Tabla['Event_type'])

Var _Status = Max(Tabla['Event_status'])

devolución

Calculate(Distinctcount(Event_date), filter(Table,_notified ="TRUE" || (_Type=3 && _Status ="1")))

Cuando corrí la variante anterior, devolvió un número diferente. Cuando depuré el [Recuento único de variantes], encontré que también devuelve filas con Event_type valor = 1 que no era el caso. No estoy seguro de por qué está devolviendo 1 valor. ¿Es porque usé la función MAX(). ¿Podría alguien ayudarme sobre este comportamiento?

Archivo de ejemplo se puede descargar desde aquí

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

No @leo_89

Por favor , mencione en sus respuestas o no las veré. Escriba @ y, a continuación, seleccione mi nombre.

¿Qué estás tratando de lograr?

Como he dicho, la 2ª medida en la que está declarando variables y luego tratando de obtener el MAX de columnas de texto devolverá resultados inesperados. Básicamente eso no funcionará, así que no uses ese enfoque.

Su primera medida es sintácticamente correcta y devolverá resultados sensatos. ¿Encuentras que hay algo malo con los resultados que te está dando?

Unique_count = CALCULATE(
                            DISTINCTCOUNT('Table'[Event_date]),
                            FILTER('Table','Table'[Notified_event]="TRUE" || 
                                    ('Table'[Event_type]="3" && 'Table'[Status]="1")
                            )
)

Pero está almacenando valores numéricos como texto en las columnas Event_type y Estado. ¿Por qué no utilizar estas columnas como numéricas?

saludos

Phil

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

No @leo_89

Por favor , mencione en sus respuestas o no las veré. Escriba @ y, a continuación, seleccione mi nombre.

¿Qué estás tratando de lograr?

Como he dicho, la 2ª medida en la que está declarando variables y luego tratando de obtener el MAX de columnas de texto devolverá resultados inesperados. Básicamente eso no funcionará, así que no uses ese enfoque.

Su primera medida es sintácticamente correcta y devolverá resultados sensatos. ¿Encuentras que hay algo malo con los resultados que te está dando?

Unique_count = CALCULATE(
                            DISTINCTCOUNT('Table'[Event_date]),
                            FILTER('Table','Table'[Notified_event]="TRUE" || 
                                    ('Table'[Event_type]="3" && 'Table'[Status]="1")
                            )
)

Pero está almacenando valores numéricos como texto en las columnas Event_type y Estado. ¿Por qué no utilizar estas columnas como numéricas?

saludos

Phil

Syndicate_Admin
Administrator
Administrator

No @leo_89

En la 2ª versión de la medida, obtendrá el MAX de 2 columnas de texto 'Table'[Notified Event] y 'Table'[Event_status]. Obtener MAX para columnas de texto puede devolver resultados inesperados.

En la instrucción RETURN, a continuación, indica FILTER the Table where _notified ="Yes", pero ya ha elaborado un valor para _notified. Dicho filtro de esta tabla donde un valor definido = otro valor dará como resultado un booleano True o False. Lo mismo para _Status = "Completado". Esperaría un comportamiento inesperado debido a esto.

Si usted puede proporcionar algunos datos reales tal vez pueda llegar a una solución de trabajo para usted.

saludos

Phil

Gracias por la respuesta. He añadido un archivo de ejemplo en la publicación.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.