Forum Discussion
Countifs conatin text
Hola
Tengo una tabla y contiene dos columnas.
1. Si el mismo artículo tiene "No está bien", devuelva "No está bien". 2. Si el mismo artículo tiene "No está bien" y Naranja, devuelva "No está bien".
2. Si el mismo artículo tiene naranja, devuelva naranja.
3. Si el mismo artículo tiene verde, devuelva verde.
4. Si el mismo artículo tiene Naranja o Verde en este caso devuelva Verde
Estoy intentando intentar debajo del código DAX pero "La expresión True/False no especifica una columna. Cada expresión True/False utilizada como expresión de filtro de tabla debe hacer referencia exactamente a una columna."
Estoy buscando una nueva columna de cálculo (DAX)
En Excel aplico la siguiente fórmula =IF(COUNTIFS($A$3:$A$101,$A 3,$B$3:$B$101,"Not Okay"),"Not Okay",IF(COUNTIFS($A$3:$A$101,$A 3,$B$3:$B$101,"Orange")=COUNTIFS($A$3:$A$101,$A 3),$B 3,"Verde")). Me gustaría aplicar la misma lógica en PBI pero estoy recibiendo un error
https://www.dropbox.com/s/q4rn361y01r40x2/Countifs%20contain%20text-26-09-21.pbix?dl=0
Datos:
| Artículo | Código | Resultado deseado |
| 123 | Naranja | Naranja |
| 124 | Verde | Verde |
| 125 | Naranja | Naranja |
| 126 | Verde | Verde |
| 127 | Naranja | Naranja |
| 128 | Naranja | Naranja |
| 135 | Naranja | Verde |
| 135 | Verde | Verde |
| 136 | No está bien | No está bien |
| 136 | No está bien | No está bien |
| 137 | Naranja | Naranja |
| 137 | Naranja | Naranja |
| 137 | Naranja | Naranja |
| 138 | Verde | Verde |
| 138 | Naranja | Verde |
| 138 | Naranja | Verde |
| 139 | Naranja | Naranja |
| 139 | Naranja | Naranja |
| 140 | Verde | Verde |
| 140 | Naranja | Verde |
| 141 | Naranja | Naranja |
| 141 | Naranja | Naranja |
| 141 | Naranja | Naranja |
| 142 | Verde | Verde |
| 142 | Naranja | Verde |
| 142 | Naranja | Verde |
| 143 | Verde | Verde |
| 143 | Verde | Verde |
| 143 | Naranja | Verde |
| 144 | No está bien | No está bien |
| 144 | No está bien | No está bien |
| 144 | Naranja | No está bien |
| 145 | No está bien | No está bien |
| 145 | No está bien | No está bien |
| 145 | No está bien | No está bien |
| 145 | No está bien | No está bien |
| 147 | Verde | Verde |
| 147 | Verde | Verde |
| 148 | Naranja | Naranja |
| 148 | Naranja | Naranja |
| 149 | Verde | Verde |
| 149 | Verde | Verde |
| 150 | Naranja | Naranja |
| 150 | Naranja | Naranja |
| 151 | Verde | Verde |
| 151 | Verde | Verde |
| 152 | Naranja | Naranja |
| 152 | Naranja | Naranja |
| 152 | Naranja | Naranja |
| 153 | No está bien | No está bien |
| 153 | No está bien | No está bien |
| 153 | Naranja | No está bien |
| 1999 | No está bien | No está bien |
| 1999 | No está bien | No está bien |
| 1999 | Naranja | No está bien |
| 155 | Verde | No está bien |
| 155 | No está bien | No está bien |
| 156 | Naranja | Verde |
| 156 | Verde | Verde |
| 157 | Naranja | Naranja |
| 157 | Naranja | Naranja |
| 154 | No está bien | No está bien |
| 154 | Naranja | No está bien |
| 154 | No está bien | No está bien |
| 155 | No está bien | No está bien |
| 155 | Verde | No está bien |
| 155 | Naranja | No está bien |
| 156 | Naranja | Verde |
| 156 | Verde | Verde |
| 156 | Naranja | Verde |
| 156 | Naranja | Verde |
| 198 | No está bien | No está bien |
| 198 | No está bien | No está bien |
| 198 | No está bien | No está bien |
| 198 | No está bien | No está bien |
| 198 | No está bien | No está bien |
| 200 | Verde | Verde |
| 200 | Verde | Verde |
| 200 | Verde | Verde |
| 200 | Verde | Verde |
| 200 | Verde | Verde |
| 200 | Verde | Verde |
| 198 | No está bien | No está bien |
| 198 | No está bien | No está bien |
| 198 | No está bien | No está bien |
| 198 | No está bien | No está bien |
| 198 | No está bien | No está bien |
| 21111 | No está bien | No está bien |
| 21111 | No está bien | No está bien |
| 21111 | No está bien | No está bien |
| 21111 | No está bien | No está bien |
| 21111 | No está bien | No está bien |
| 21111 | No está bien | No está bien |
| 21111 | No está bien | No está bien |
| 21111 | No está bien | No está bien |
| 21111 | No está bien | No está bien |
| 21111 | No está bien | No está bien |
| 21111 | No está bien | No está bien |
| 21111 | Naranja | No está bien |
@Saxon10 ajustar mi expresión DAX de la siguiente manera:
Answer1 = VAR __code = Report[Item] VAR __table = CALCULATETABLE ( Data, Data[Item] = __code ) VAR __noOk = COUNTX ( __table, IF ( [Code] = "Not Okay", 1 ) ) VAR __orange = COUNTX ( __table, IF ( [Code] = "Orange", 1 ) ) VAR __green = COUNTX ( __table, IF ( [Code] = "Green", 1 ) ) RETURN SWITCH ( TRUE(), NOT ISBLANK ( __noOk ), "Not Okay", NOT ISBLANK ( __orange ) && NOT ISBLANK ( __green ), "Green", NOT ISBLANK ( __orange ), "Orange", NOT ISBLANK ( __green ), "Green", "Unknown" )✨ Síguenos en LinkedIn
Revisa mi última publicación de blog El poder de usar grupos de cálculo con relaciones inactivas (Parte 1) (perytus.com) Yo lo haría ❤ Elogios si mi solución ayudó. 👉 Si puede dedicar tiempo a publicar la pregunta, también puede hacer esfuerzos para felicitar a quien ayudó a resolver su problema. ¡Es una muestra de agradecimiento!
⚡ Visítenos en https://perytus.com, su ventanilla única para proyectos/formación/consultoría relacionados con Power BI.⚡
Hola
Escriba esta fórmula de columna calculada en la hoja de cálculo Informe
Answer = if(CALCULATE(COUNTROWS(DATA),FILTER(DATA,DATA[ITEM]=EARLIER(REPORT[ITEM])))=0,"NA",if(CALCULATE(COUNTROWS(DATA),FILTER(DATA,DATA[ITEM]=EARLIER(REPORT[ITEM])&&DATA[CODE]="Not Okay"))>=1,"Not Okay",IF(CALCULATE(COUNTROWS(DATA),FILTER(DATA,DATA[ITEM]=EARLIER(REPORT[ITEM])))=CALCULATE(COUNTROWS(DATA),FILTER(DATA,DATA[ITEM]=EARLIER(REPORT[ITEM])&&DATA[CODE]="Orange")),"Orange","Green")))Espero que esto ayude.
8 Replies
- Syndicate_Admin
Administrator
@Saxon10 agregar una nueva columna con la siguiente expresión:
Answer = VAR __code = Data[Item] VAR __table = CALCULATETABLE ( Data, ALL ( Data ), Data[Item] = __code ) VAR __noOk = COUNTX ( __table, IF ( [Code] = "Not Okay", 1 ) ) VAR __orange = COUNTX ( __table, IF ( [Code] = "Orange", 1 ) ) VAR __green = COUNTX ( __table, IF ( [Code] = "Green", 1 ) ) RETURN SWITCH ( TRUE(), NOT ISBLANK ( __noOk ), "Not Okay", NOT ISBLANK ( __orange ) && NOT ISBLANK ( __green ), "Green", NOT ISBLANK ( __orange ), "Orange", NOT ISBLANK ( __green ), "Green", "Unknown" )✨ Síguenos en LinkedIn
Revisa mi última publicación de blog El poder de usar grupos de cálculo con relaciones inactivas (Parte 1) (perytus.com) Yo lo haría ❤ Elogios si mi solución ayudó. 👉 Si puede dedicar tiempo a publicar la pregunta, también puede hacer esfuerzos para felicitar a quien ayudó a resolver su problema. ¡Es una muestra de agradecimiento!
⚡ Visítenos en https://perytus.com, su ventanilla única para proyectos/formación/consultoría relacionados con Power BI.⚡
- Syndicate_Admin
Administrator
Hola
Esta fórmula de columna calculada funciona
=if(CALCULATE(COUNTROWS(Data),FILTER(Data,Data[Item]=EARLIER(Data[Item])&&Data[Code]="Not Okay"))>=1,"Not Okay",IF(CALCULATE(COUNTROWS(Data),FILTER(Data,Data[Item]=EARLIER(Data[Item])))=CALCULATE(COUNTROWS(Data),FILTER(Data,Data[Item]=EARLIER(Data[Item])&&Data[Code]="Orange")),"Orange","Green"))Espero que esto ayude.
- Syndicate_Admin
Administrator
Gracias por su solución. Ambas soluciones están funcionando bien.
Necesito un consejo más, por favor. Me gustaría obtener el mismo resultado con dos tablas entre medias.
Tengo dos tablas de datos e informe. Las columnas de elementos de ambas tablas se han duplicado.
Me gustaría extraer el código de color de la tabla de datos a la tabla de informes de acuerdo con el elemento.
1. Si el mismo artículo tiene "No está bien", devuelva "No está bien". 2. Si el mismo artículo tiene "No está bien" y Naranja, devuelva "No está bien".
2. Si el mismo artículo tiene naranja, devuelva naranja.
3. Si el mismo artículo tiene verde, devuelva verde.
4. Si el mismo artículo tiene Naranja o Verde en este caso devuelva Verde5. Si el artículo no se encuentra en la tabla de datos, devuelva "NA".
Algunos de los elementos se repiten 2 veces en la tabla de datos, pero en la tabla de informes tal vez sea único. Ejemplo -135.
Archivo PBI adjunto para su referencia.
https://www.dropbox.com/s/fjc544dmnk6jiie/Countifs%20contain%20text-1-26-09-21.pbix?dl=0
- Syndicate_Admin
Administrator
Hola
Escriba esta fórmula de columna calculada en la hoja de cálculo Informe
Answer = if(CALCULATE(COUNTROWS(DATA),FILTER(DATA,DATA[ITEM]=EARLIER(REPORT[ITEM])))=0,"NA",if(CALCULATE(COUNTROWS(DATA),FILTER(DATA,DATA[ITEM]=EARLIER(REPORT[ITEM])&&DATA[CODE]="Not Okay"))>=1,"Not Okay",IF(CALCULATE(COUNTROWS(DATA),FILTER(DATA,DATA[ITEM]=EARLIER(REPORT[ITEM])))=CALCULATE(COUNTROWS(DATA),FILTER(DATA,DATA[ITEM]=EARLIER(REPORT[ITEM])&&DATA[CODE]="Orange")),"Orange","Green")))Espero que esto ayude.
- Syndicate_Admin
Administrator
@Saxon10 ajustar mi expresión DAX de la siguiente manera:
Answer1 = VAR __code = Report[Item] VAR __table = CALCULATETABLE ( Data, Data[Item] = __code ) VAR __noOk = COUNTX ( __table, IF ( [Code] = "Not Okay", 1 ) ) VAR __orange = COUNTX ( __table, IF ( [Code] = "Orange", 1 ) ) VAR __green = COUNTX ( __table, IF ( [Code] = "Green", 1 ) ) RETURN SWITCH ( TRUE(), NOT ISBLANK ( __noOk ), "Not Okay", NOT ISBLANK ( __orange ) && NOT ISBLANK ( __green ), "Green", NOT ISBLANK ( __orange ), "Orange", NOT ISBLANK ( __green ), "Green", "Unknown" )✨ Síguenos en LinkedIn
Revisa mi última publicación de blog El poder de usar grupos de cálculo con relaciones inactivas (Parte 1) (perytus.com) Yo lo haría ❤ Elogios si mi solución ayudó. 👉 Si puede dedicar tiempo a publicar la pregunta, también puede hacer esfuerzos para felicitar a quien ayudó a resolver su problema. ¡Es una muestra de agradecimiento!
⚡ Visítenos en https://perytus.com, su ventanilla única para proyectos/formación/consultoría relacionados con Power BI.⚡
- Syndicate_Admin
Administrator