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.
Estoy tratando de encontrar una manera de contar un valor total en una semana determinada como "1". Para ilustrar:
Persona Semana 1 Semana 2 Semana 3 Semana 4 Semana 5 Contar
A 6 8 9 3 4
B 6 8 9 4 3 5
C 6 9 2
Preferiblemente sólo tendría la cuenta en una medida, para que pueda mostrar un total junto al recuento de las semanas:
Person Total Weekcounter
Un 26 4
B 31 5
C 15 2
¿Cómo calculo tal cosa?
Solved! Go to Solution.
Hola, @TKA
Basándome en su descripción, creé datos para reproducir su escenario.
Mesa:
Puede ir a 'Editor de consultas', hacer las semanas seleccionadas, hacer clic en 'Transformar' cinta de opciones > 'Columnas unpiot', luego 'Cerrar y aplicar'.
A continuación, puede crear dos medidas como se muestra a continuación.
Weekcounter =
CALCULATE(
DISTINCTCOUNT('Table'[Week]),
FILTER(
ALL('Table'),
'Table'[Person] = SELECTEDVALUE('Table'[Person])
)
)
Total =
CALCULATE(
SUM('Table'[Value]),
FILTER(
ALL('Table'),
'Table'[Person] = SELECTEDVALUE('Table'[Person])
)
)
Resultado:
Saludos
Allan
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola
En caso de que desee una solución de editor de consultas, entonces este código M funciona
let
Source = Excel.CurrentWorkbook(){[Name="Data"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Person", type text}, {"Week 1", Int64.Type}, {"Week 2", Int64.Type}, {"Week 3", Int64.Type}, {"Week 4", Int64.Type}, {"Week 5", Int64.Type}, {"Count", Int64.Type}}),
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Person", "Count"}, "Attribute", "Value"),
#"Removed Columns" = Table.RemoveColumns(#"Unpivoted Other Columns",{"Attribute"}),
#"Grouped Rows" = Table.Group(#"Removed Columns", {"Person"}, {{"Total", each List.Sum([Value]), type number}, {"Count", each List.Min([Count]), type number}})
in
#"Grouped Rows"
Espero que esto ayude.
Hola
En caso de que desee una solución de editor de consultas, entonces este código M funciona
let
Source = Excel.CurrentWorkbook(){[Name="Data"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Person", type text}, {"Week 1", Int64.Type}, {"Week 2", Int64.Type}, {"Week 3", Int64.Type}, {"Week 4", Int64.Type}, {"Week 5", Int64.Type}, {"Count", Int64.Type}}),
#"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Changed Type", {"Person", "Count"}, "Attribute", "Value"),
#"Removed Columns" = Table.RemoveColumns(#"Unpivoted Other Columns",{"Attribute"}),
#"Grouped Rows" = Table.Group(#"Removed Columns", {"Person"}, {{"Total", each List.Sum([Value]), type number}, {"Count", each List.Min([Count]), type number}})
in
#"Grouped Rows"
Espero que esto ayude.
Hola, @TKA
Basándome en su descripción, creé datos para reproducir su escenario.
Mesa:
Puede ir a 'Editor de consultas', hacer las semanas seleccionadas, hacer clic en 'Transformar' cinta de opciones > 'Columnas unpiot', luego 'Cerrar y aplicar'.
A continuación, puede crear dos medidas como se muestra a continuación.
Weekcounter =
CALCULATE(
DISTINCTCOUNT('Table'[Week]),
FILTER(
ALL('Table'),
'Table'[Person] = SELECTEDVALUE('Table'[Person])
)
)
Total =
CALCULATE(
SUM('Table'[Value]),
FILTER(
ALL('Table'),
'Table'[Person] = SELECTEDVALUE('Table'[Person])
)
)
Resultado:
Saludos
Allan
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@TKA , busque la solución adjunta después de la firma.
Compruebe si hay unpivot en la transferencia de datos
@amitchandak Gracias por el apego. Pero, ¿cómo creó la columna de recuento? ¿Y la forma en que se configura la columna de recuento tiene en cuenta que 1 semana podría tener varias filas? Así, por ejemplo:
La persona A ha cronometrado 1 hora el día 1 y 4 horas el día 5 para la semana 1. El total de la semana 1 es de 5 horas, pero el recuento de semanas debe ser 1, no 2.
Así que básicamente la fórmula / columna tiene que comprobar si la columna de hora >0 para una semana determinada y luego contar esa semana para esa persona como 1. En Excel puedo pensar en al menos 5 maneras diferentes de hacer esto (ya sea agregando una columna o solo 1 fórmula más grande), pero en PBI estoy dibujando un espacio en blanco.
EDITAR: ¿No puedo simplemente hacer algo a lo largo de la línea de Count - COUNTROWS(FILTER(DURATION COLUMN, DURATION COLUMN [HOURS] > 0) como @Greg_Deckler sugerido? Quiero decir que la fórmula anterior no funciona para mí, ya que cuenta las líneas basadas en los días (aunque la matriz se basa en semanas), pero puedo imaginar que debe estar cerca de ella.
@TKA , puede tomar distinctcount. Mientras que el tiempo en blanco no se contará.
https://www.dropbox.com/s/e5mqtn3tm3eow7n/WeekwiseData.pbix?dl=0
Bueno, normalmente probablemente desbloquee esas columnas de la semana y luego es sólo una cuestión de COUNTROWS pero si por alguna razón necesita los datos en ese formato, es un gran FEO IF(NOT(ISBLANK([columna])).). tipo de cosa. Feo. Votaría por unpivot.
Si fuera por columnas de semana sin pivotar, ¿cómo lo haría? ¿Y en qué se diferencia COUNTROWS de agregar el valor a la matriz y establecerlo para que cuente?
Mis datos son horas de trabajo por día, que me gustaría "combinar" a la semana y luego contarlos como 1. Básicamente sólo quiero saber cuántas semanas una persona ha cronometrado horas en un cierto período de tiempo.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |