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
manojs
Frequent Visitor

Recuento entre columnas para valores condicionales

Hola, tengo una tabla con varias columnas para incluir: nombre, país1, country2, country3 y así sucesivamente

Cada county1-countryX puede tener varios valores de una opción definida fija. Ejemplo: Pase, Fallo, N/A, etc.

Quiero generar un informe para cada nombre que cuente el número de estos valores para cada fila en las columnas

A continuación se muestra un ejemplo, con las columnas CountPass & Count Fail countiing para cada fila a través de columnas

Nombre, C1,C2,C3,C4, CountPass, CountFail

A,Pass,Pass, Fail, Fail, 2, 2

B Pass, Fail, Fail, Fail,1,3

C Falla, Fallo, Fallo, Fallo, 0,4

Alguien en el foro publicado simplemente para agregar un coumn para cada resultado

List.Count(List.Select(Record.FieldValues(_), (x) ?> Text.Contains(x, "PASS")))

List.Count(List.Select(Record.FieldValues(_), (x) ?> Text.Contains(x, "Fail")))

He probado esto, pero la columna da un valor de "ERROR"

6 REPLIES 6
dax
Community Support
Community Support

Hola @manojs ,

Usted podría referirse a las sugerencias anteriores, también podría referirse a mi código M

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WclTSUQpILC5GUG6JmTkwKlYnWslJAbsckhJn7FIwFbEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type text) meta [Serialized.Text = true]) in type table [Name = _t, #" C1" = _t, C2 = _t, C3 = _t, C4 = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Name", type text}, {" C1", type text}, {"C2", type text}, {"C3", type text}, {"C4", type text}}),
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Name"}, "Attribute", "Value"),
    #"Grouped Rows" = Table.Group(#"Unpivoted Other Columns", {"Name", "Value"}, {{"Count", each Table.RowCount(_), type number}}),
    #"Pivoted Column" = Table.Pivot(#"Grouped Rows", List.Distinct(#"Grouped Rows"[Value]), "Value", "Count", List.Sum),
    #"Merged Queries" = Table.NestedJoin(#"Pivoted Column", {"Name"}, #"Changed Type", {"Name"}, "Pivoted Column", JoinKind.LeftOuter),
    #"Expanded Pivoted Column" = Table.ExpandTableColumn(#"Merged Queries", "Pivoted Column", {" C1", "C2", "C3", "C4"}, {" C1", "C2", "C3", "C4"})
in
    #"Expanded Pivoted Column"

Saludos
Zoe Zhi

Si este post ayuda, entonces considera Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

ryan_mayu
Super User
Super User

@manojs

puede intentar usar DAX para crear columnas, sin embargo, si el número de país es grande, eso será complicado.

CountPass = 
VAR c1=if('Table'[C1]="Pass",1,0)
VAR c2=if('Table'[C2]="Pass",1,0)
VAR c3=if('Table'[C3]="Pass",1,0)
VAR c4=if('Table'[C4]="Pass",1,0)
RETURN c1+c2+c3+c4

CountFail = 
VAR c1=if('Table'[C1]="Fail",1,0)
VAR c2=if('Table'[C2]="Fail",1,0)
VAR c3=if('Table'[C3]="Fail",1,0)
VAR c4=if('Table'[C4]="Fail",1,0)
RETURN c1+c2+c3+c4

1.PNG





Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Thx Ryan,

Esto es bueno, pero significaría que se basaría en la codificación dura de los nombres de columna, estaba buscando una manera automatizada y por lo tanto los dos ejemplos de línea en mi post original: aunque para obtener cualquier información sobre que construido que fue publicado es casi imposible en la búsqueda en google - parece magia

@manojs aunque recomendaría despivot la tabla, pero el código que publicó no funciona porque cuando agrega la segunda columna personalizada, ve la primera columna personalizada que agregó como un número porque el tipo de esa columna de forma predeterminada será cualquier

Hay dos maneras de controlarlo, cambie el tipo de columna al texto después de agregar la primera columna personalizada y, a continuación, agregue una segunda columna personalizada o cambie la expresión como se muestra a continuación

List.Count(List.Select(Record.FieldValues(_),(x)=>Text.Contains(Text.From(x), "Fail"))))

Una vez más, como práctica recomendada, unpivot debe ser su enfoque.

Me gustaría elogiossi mi solución ayudara.👉Si puedes pasar tiempo publicando la pregunta, también puedes hacer esfuerzos para dar a Kudos quien haya ayudado a resolver tu problema. ¡Es una muestra de agradecimiento!

Visítenos enhttps://perytus.com, su ventanilla única para proyectos/formación/consulta relacionados con Power BI.



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

AllisonKennedy
Super User
Super User

¿Qué otros datos hay en la tabla? ¿Qué otras columnas tienes? Podría sugerir que haga un despivo de las columnas País en este caso. Si tiene un número fijo de otras columnas, puede seleccionarlas primero y realizar un despivot otras columnas. Una vez que haya hecho el despivot, todo su pase / fallo estará en 1 columna llamada 'Valor'. Puede cambiar el nombre de esto para que tenga más sentido para usted y, a continuación, simplemente trazarlo en un objeto visual de matriz o columna, o hacer una medida simple:

Count Pass ( COUNTROWS(FILTER(Table, Table[Value]-"Pass"))

y conspirar contra el país.

Please @mention me in your reply if you want a response.

Copying DAX from this post? Click here for a hack to quickly replace it with your own table names

Has this post solved your problem? Please Accept as Solution so that others can find it quickly and to let the community know your problem has been solved.
If you found this post helpful, please give Kudos C

I work as a Microsoft trainer and consultant, specialising in Power BI and Power Query.
www.excelwithallison.com

@manojs Yo recomendaría despivo su tabla, y luego todo será mucho más fácil, no estoy seguro de si usted está agregando countpass y count fail columnas, aquí están los pasos

- transformar datos

- eliminar columnas countpass y countfail (si forman parte de la tabla)
- Seleccionar columna de nombre
- haga clic con el botón derecho, despofen otras columnas agregará dos columnas, atributo y valor, cambiar el nombre de estos según su requisito
- cerrar y aplicar

Para visualizar,
- matriz visual:
- añadir nombre en las filas,
- añadir atributo en las columnas
- añadir valor en la sección de valores y la agregación para esto será count, también puede crear medidas, pero vamos a empezar con esto.

Lo anterior le dará el recuento que está buscando y esta transformación de tabla está siguiendo las mejores prácticas y se puede utilizar fácilmente para otros análisis.

Me gustaría elogiossi mi solución ayudara.👉Si puedes pasar tiempo publicando la pregunta, también puedes hacer esfuerzos para dar a Kudos quien haya ayudado a resolver tu problema. ¡Es una muestra de agradecimiento!

Visítenos enhttps://perytus.com, su ventanilla única para proyectos/formación/consulta relacionados con Power BI.



Subscribe to the @PowerBIHowTo YT channel for an upcoming video on List and Record functions in Power Query!!

Learn Power BI and Fabric - subscribe to our YT channel - Click here: @PowerBIHowTo

If my solution proved useful, I'd be delighted to receive Kudos. When you put effort into asking a question, it's equally thoughtful to acknowledge and give Kudos to the individual who helped you solve the problem. It's a small gesture that shows appreciation and encouragement! ❤


Did I answer your question? Mark my post as a solution. Proud to be a Super User! Appreciate your Kudos 🙂
Feel free to email me with any of your BI needs.

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.