Forum Discussion
CountRow devuelve un resultado incorrecto
Hola
Tengo esta tabla:
Creo esta medida en dax :
COUNTROWS(FILTER(VALUES('TABLE'[Référence]),[Difference_test]<>0))
El resultado que debería tener es 27 pero Power BI me da 3 y eso no es bueno.
¿Cómo puedo encontrar mi resultado de 27 con una fórmula DAX, por favor?
Gracias 🙂
17 Replies
- Syndicate_Admin
Administrator
Hola @Juju123 - cuando usas lo siguiente:
VALUES('TABLE'[Référence])Está creando una tabla con solo 3 filas. Hay 3 filas que contienen los distintos valores en la columna Referencia.
Puede corregir la fórmula simplemente haciendo referencia a la TABLACOUNTROWS(FILTER('TABLE'),[Difference_test]<>0)) - Syndicate_Admin
Administrator
Hola @Daryl-Lynch-Lilacs ,
Gracias por la respuesta, pero trato de cambiar la fórmula dax y tengo un error de sintaxis:
La sintaxis de ")" es incorrecta. (DAX(COUNTROWS(FILTER('CAGC_MFG_ECART_PDC_PPPI_REP'),[Desviación acumulada de PDC/PPPI]<>0)))).
COUNTROWS(FILTER('CAGC_MFG_ECART_PDC_PPPI_REP'),[Difference_test]<>0)) - Syndicate_Admin
Administrator
Hola @Juju123 Lo siento, me perdí un backet después de 'Table"). Por favor, elimine esto.
- Syndicate_Admin
Administrator
Gracias, pero no es trabajo. El resultado siempre es 30 y no es el buen resultado.
Tengo esta mesa. Quiero contar el número de ref. cuando Difference_test <>0. El resultado es normalmente 27
- Syndicate_Admin
Administrator
Hola @Juju123 - Estoy un poco confundido, pero parece que en tu primer post, hay 24 excepciones. En su segunda captura de pantalla, la tabla parece estar cortada, por lo que no estoy seguro de qué tan larga es. Creo que la medida podría incluir las 6 filas donde el resultado es nulo o en blanco (). Considere la posibilidad de agregar lo siguiente:
COUNTROWS(FILTER('TABLE', [Difference_test]<>0 , NOT ISBLANK( [Difference_test] ) ))Pero pensándolo bien, parece que necesita actualizar la medida para incluir variables e incluir un paso Addcolumns:
VAR _AddColumn = ADDCOLUMNS( 'Table', "Test", [Difference_Calculation] ) VAR _Filter = FILTER( _AddColumn, [Test] <> 0 ) RETURN COUNTROWS( _Filter ) - Syndicate_Admin
Administrator
Ok, pruebo esto.
Pero obtuve otro error con la fórmula DAX: se pasaron demasiados argumentos a la función FILTER. El número máximo de argumentos de función es 2.
COUNTROWS(FILTER('TABLE', [Difference_test]<>0 , NOT ISBLANK( [Difference_test] ) )) - Syndicate_Admin
Administrator
COUNTROWS(FILTER('TABLE', [Difference_test]<>0 && NOT ISBLANK( [Difference_test] ) )) - Syndicate_Admin
Administrator
Para la segunda fórmula DAX, tengo este error:
La sintaxis de "VAR" es incorrecta. (DAX(ADDCOLUMNS('TABLE',"Test", [Difference_Test])VAR _Filter FILTER(_AddColumn,[Test] <> 0)RETURN COUNTROWS( _Filter ) )).
VAR _AddColumn = ADDCOLUMNS('TABLE',"Test", [DIFFERENCE_TEST]) VAR _Filter = FILTER(_AddColumn,[Test] <> 0) RETURN COUNTROWS( _Filter ) - Syndicate_Admin
Administrator
Hola
Pongo el ejemplo de mis datos en este PBIX
puedes descargarlo y ver mi problema con countrow
- Syndicate_Admin
Administrator
Debido a que los datos de la captura de pantalla están incompletos, solo puedo crear datos de prueba más pequeños yo mismo, que se muestran a continuación:
El nombre de la hoja de datos de la prueba es 'Tabla':
Puede usar el siguiente DAX para crear una medida:
Measure = CALCULATE( COUNTROWS('Table'), FILTER( 'Table', 'Table'[different_test] <> 0 && NOT(ISBLANK('Table'[different_test])) ) )Y el resultado final se muestra en la siguiente figura:
Saludos
Hombre dinosaurio
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.