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

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."

Respuesta = IF(CALCULATE(COUNTROWS(Data),Data[Colour Code]="Not Okay"),"Not Okay" || IF(CALCULATE(COUNTROWS(Data),Data[Code],"Orange")=CALCULATE(COUNTROWS(Data),Data[Colour Code],"Green"),Data[Code],"Green"))

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

Saxon10_0-1632694041925.png

https://www.dropbox.com/s/q4rn361y01r40x2/Countifs%20contain%20text-26-09-21.pbix?dl=0

Datos:

ArtículoCódigoResultado deseado
123NaranjaNaranja
124VerdeVerde
125NaranjaNaranja
126VerdeVerde
127NaranjaNaranja
128NaranjaNaranja
135NaranjaVerde
135VerdeVerde
136No está bienNo está bien
136No está bienNo está bien
137NaranjaNaranja
137NaranjaNaranja
137NaranjaNaranja
138VerdeVerde
138NaranjaVerde
138NaranjaVerde
139NaranjaNaranja
139NaranjaNaranja
140VerdeVerde
140NaranjaVerde
141NaranjaNaranja
141NaranjaNaranja
141NaranjaNaranja
142VerdeVerde
142NaranjaVerde
142NaranjaVerde
143VerdeVerde
143VerdeVerde
143NaranjaVerde
144No está bienNo está bien
144No está bienNo está bien
144NaranjaNo está bien
145No está bienNo está bien
145No está bienNo está bien
145No está bienNo está bien
145No está bienNo está bien
147VerdeVerde
147VerdeVerde
148NaranjaNaranja
148NaranjaNaranja
149VerdeVerde
149VerdeVerde
150NaranjaNaranja
150NaranjaNaranja
151VerdeVerde
151VerdeVerde
152NaranjaNaranja
152NaranjaNaranja
152NaranjaNaranja
153No está bienNo está bien
153No está bienNo está bien
153NaranjaNo está bien
1999No está bienNo está bien
1999No está bienNo está bien
1999NaranjaNo está bien
155VerdeNo está bien
155No está bienNo está bien
156NaranjaVerde
156VerdeVerde
157NaranjaNaranja
157NaranjaNaranja
154No está bienNo está bien
154NaranjaNo está bien
154No está bienNo está bien
155No está bienNo está bien
155VerdeNo está bien
155NaranjaNo está bien
156NaranjaVerde
156VerdeVerde
156NaranjaVerde
156NaranjaVerde
198No está bienNo está bien
198No está bienNo está bien
198No está bienNo está bien
198No está bienNo está bien
198No está bienNo está bien
200VerdeVerde
200VerdeVerde
200VerdeVerde
200VerdeVerde
200VerdeVerde
200VerdeVerde
198No está bienNo está bien
198No está bienNo está bien
198No está bienNo está bien
198No está bienNo está bien
198No está bienNo está bien
21111No está bienNo está bien
21111No está bienNo está bien
21111No está bienNo está bien
21111No está bienNo está bien
21111No está bienNo está bien
21111No está bienNo está bien
21111No está bienNo está bien
21111No está bienNo está bien
21111No está bienNo está bien
21111No está bienNo está bien
21111No está bienNo está bien
21111NaranjaNo está bien

2 ACCEPTED SOLUTIONS
Syndicate_Admin
Administrator
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.

View solution in original post

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.

View solution in original post

8 REPLIES 8
Syndicate_Admin
Administrator
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.

@parry2k

Gracias por su ayuda y con la solución VAR es algo nuevo aprender PBI.

Syndicate_Admin
Administrator
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.

Untitled.png

@Ashish_Mathur y @parry2k ,

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 Verde

5. 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

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.

@Ashish_Mathur ,

Gracias por su ayuda y sin la solución VAR es fácil de entender como similar a la función de coincidencia de índice de Excel de una hoja a otra hoja.

De nada.

Syndicate_Admin
Administrator
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.

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.