** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Otros de Microsoft: Windows y Office > Excel
  Mensajes nuevos Mensajes nuevos RSS - POWER QUERY: Sacar % por cada fila s/ criterios
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

POWER QUERY: Sacar % por cada fila s/ criterios

 Responder Responder
Autor
Mensaje
GENARO1908 Ver desplegable
Nuevo
Nuevo


Unido: 27/Agosto/2006
Localización: España
Estado: Sin conexión
Puntos: 43
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita GENARO1908 Cita  ResponderRespuesta Enlace directo a este mensaje Tema: POWER QUERY: Sacar % por cada fila s/ criterios
    Enviado: 11/Julio/2024 a las 08:04
buenos dias,

tengo un archivo con 13.000 filas y lo tengo trabajado con el power query, me he quedado atascado intentando crear una columna con los % de cantidades que cumplan unos determinados requisitos. (se me ha ocurrido agrupando en otra consulta pero es muy engorrosso, lo he intentado con calculate(sumx... PERO no me sale)

el ejemplo adaptado seria este, yo tengo provincia, proveedor producto y cantidad, y necesitaria sacar el % de productos que se venden por cada provincia...

PROVINCIAPROVEEDORPRODUCTOQ%
Cantabria
1​
Lapiz
10​
100%​
Cantabria
2​
boli
20​
50%​
Cantabria
3​
boli
20​
50%​
Madrid
1​
Lapiz
100​
25%​
Madrid
2​
Lapiz
100​
25%​
Madrid
3​
Lapiz
100​
25%​
Madrid
1​
Lapiz
100​
25%​
Madrid
1​
boli
200​
100%​
Barcelona
1​
boli
1000​
33%​
Barcelona
1​
boli
2000​
67%​

Como podria calcular la columna % dentro del power pivot... en Excel lo tendria facil con un sumar.si.conjunto.. pero aqui no llego para que lo haga en automatico el power query(ni con medidas...)

muchas gracias
Arriba
influexcel Ver desplegable
Nuevo
Nuevo
Avatar

Unido: 11/Julio/2024
Localización: Barcelona
Estado: Sin conexión
Puntos: 7
Opciones de entrada Opciones de entrada   Gracias (1) Gracias(1)   Cita influexcel Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 11/Julio/2024 a las 10:48
Hola! Me estreno por aquí :) 

Hay varias formas de hacerlo. La que comentabas de agrupar en otra consulta y combinar, aunque "engorrosa" también sería válida.

Si lo quieres hacer con M, yo lo plantearía así. Primero crearía una función (Como crear una nueva consulta) con el siguiente código:

(tabla as table, provincia as text) =>
let
    Filtro = Table.SelectRows(tabla, each [PROVINCIA] = provincia),
    Total = List.Sum(Filtro[Q])
in
    Total

A esta función la he llamada TotalProvincia. Ahora ya puedes añadir una nueva columna en la consulta principal (he puesto en negrita la parte nueva). Como verás crea una primera columna "Total" con utiizando la función creada. Y luego, añado otra ya realizando la división para sacar el porcentaje.

let
    Origen = Excel.CurrentWorkbook(){[Name="Tabla1"]}[Content],
    #"Tipo cambiado" = Table.TransformColumnTypes(Origen,{{"PROVINCIA", type text}, {"IMPORTE", Int64.Type}}),
    NuevaColumna = Table.AddColumn(#"Tipo cambiado", "Total", each TotalProvincia(#"Tipo cambiado", [PROVINCIA])),
    Porcentajes = Table.AddColumn(NuevaColumna, "Porcentaje", each [Q] / [Total])
in
    Porcentajes

Código M es muy versátil y permite realizar lo mismo de varias formas. Creo que esta es de las que queda más claras (importante también por si luego tienes que modificar o adaptar)


Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable