El recuento distinto de nulos en Power BI no funciona como SQL Server

Un usuario Pregunto ✅

rlooney

Un cliente se topó con esto mientras validaba los datos.

Vemos una idea en el antiguo foro que indica que otros también han visto este problema, pero no veo ningún comentario del personal para señalar que esto es por diseño o un error. Nos parece un error. Retroalimentación anterior:

https: //ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/20324836-dax-distinctcount-treats …

Es fácil de duplicar. En una base de datos de servidor Sql local, cree una tabla con una sola columna y una sola fila nula de datos.

Tenga en cuenta que el recuento (distinto) de esa tabla devuelve 0.

Ahora conecte Power BI a esa tabla (importar o consulta directa, no importa). Muestre esa columna en una tabla o matriz y alterne para contar (distinta). Power BI muestra 1.

Parece incorrecto que Power BI funcione de manera diferente a SQL Server.

Ejemplos a continuación …

recuento del servidor sql distinto.PNGpower bi count distinto.PNG

@rlooney,

Recibí una respuesta de PG que este comportamiento es por diseño, por favor vote la idea que ha mencionado anteriormente.

Saludos,
Lydia

rlooney

@ v-yuezhe-msft – Gracias por verificar esto. He votado a favor de la idea y esta se puede cerrar.

Además, para otros que puedan ver esto, una de las preguntas del foro sobre esto sugiere agregar un filtro a los datos para excluir los datos (en blanco). Hacer eso producirá un recuento y recuento (distinto) que es consistente con SQL Server. Solo tenga en cuenta en qué nivel está filtrando esos datos, ya que eso podría causar otros problemas si no se tiene en cuenta por completo.

rlooney

@ v-yuezhe-msft – Gracias por verificar esto. He votado a favor de la idea y esta se puede cerrar.

Además, para otros que puedan ver esto, una de las preguntas del foro sobre esto sugiere agregar un filtro a los datos para excluir los datos (en blanco). Hacer eso producirá un recuento y recuento (distinto) que es consistente con SQL Server. Solo tenga en cuenta en qué nivel está filtrando esos datos, ya que eso podría causar otros problemas si no se tiene en cuenta por completo.

@rlooney,

Recibí una respuesta de PG que este comportamiento es por diseño, por favor vote la idea que ha mencionado anteriormente.

Saludos,
Lydia

@rlooney,

Consultaré este problema internamente y volveré a publicar aquí una vez que reciba actualizaciones.

Saludos,
Lydia

rlooney

Un par de piezas más de información:

1 – Puedo confirmar que Cognos y Tableau implementan Count (distinto) como lo hace SQL Server, ignorando los valores nulos. Como resultado, la mayoría de los usuarios esperarán que el recuento (distinto) funcione de manera estándar en la industria.

2 – Count también sufre de algunas rarezas cuando está en juego un valor nulo.

El recuento de la tabla anterior en SQL Server produce 0, pero se muestra como un espacio en blanco en Power BI, lo que parece otro error relacionado.

Agregar una fila de datos no nulos [insert into counttest (CountTestID) Values (1) ] luego provoca esto en Power BI:

Cuenta = 1

Recuento (distinto) = 2

SQL Server produce:

Cuenta = 1

Recuento (distinto) = 1

Por lo tanto, Count funciona cuando existen valores no nulos, pero se rompe cuando esa es la única fila de datos.

Count (distinto) parece contar constantemente el valor nulo que otros sistemas no lo hacen y, como resultado, los usuarios no lo esperarán.

Deja un comentario

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