Operación matemática entre valores de una misma columna (P. Query)

  • Raulcip

    Hola compañeros de la comunidad BI!

    El día 08/09 compartí con ustedes un problema que se me presentó durante un desarrollo:

    Debía realizar una operación matemática, en este caso una sustracción, entre valores que se encontraban en una misma columna.

    Pude llegar a una solución que a continuación comparto:

    1. La tabla (fuente de datos) en excel:

     

     

    1. Se muestra lo que se desea realizar para los columnas: Em, Nm, Elev y Fecha (no se muestra en la imagen anterior, básicamente el mismo proceso). Teniendo en cuenta que el mismo proceso se debe realizar agrupando por el Nombre de Prisma (PR01, PR02, PR03, …)

     

     

    1. Se cargan los datos a Power Query, se realizan los cambios de data type, split column (para separar nombre primas con su ubicación, ejm: PR01PAD-15 > PR01 || PAD-15), rename columns.

     

     

    1. Agrupamos por NombPrisma (usando “Group by” o “Agrupar por”)

       

    2. Creamos una consulta en blanco para luego en el editor avanzando escribir el siguiente código M (generará columnas con índice alterado para posteriormente efectuar las operaciones):

       

    3. Volvemos a la tabla en donde estuvimos trabajando, vamos a la pestaña “Agregar Columna” y hacemos clic en “Invocar función personalizada”. De la siguiente manera:

       

    4. Inmediatamente obtenemos la siguiente tabla:

      Como se puede ver, en la previsualización de la tabla de la columna Query1, hemos realizado el cambio que queríamos para cada columna (Em, Nm, Elev, Fecha) alterando el índice para posteriormente poder realizar la operación matemática propuesta.

    5. Solo quedaría eliminar las demás columnas, únicamente nos quedaremos con la columna Query1 (aquí se encuentran todos los cambios que deseamos, agrupados por NombPrisma y con el índice alterado).
    6. El resto sería hacer las sustracciones respectivas entre las columnas generadas. El “Error” marca el inicio de un nuevo grupo según NombPrisma (PR01, PR02, PR03,… )

       

    Esto me funcionó y permitió que el desarrollo de un panel interactivo (Monitoreo de Prismas) siga su curso. Aún me falta conocer más sobre el poder de Power Query, en este caso tuve que investigar para poder hallar una solución. Quizás les sirva!

    Si tuvieran algún comentario, duda o recomendación los leo.

    Saludos Comunidad!!

  • sfnavarrete

      Muchas gracias Raúl por tu aporte muy útil.

      Saludos,
      Santiago

      Diego
      Participante

        Wow Raul , está buenísimo este desarrollo. Se ve que fue todo un reto pero al final lo lograste :muscle:t2: y muy probablemente sientes ese sentimiento de satisfacción.

        Lo importante, creo yo, es que identificaste cómo decirle a Power BI (Query Editor en este caso) lo que para ti es intuitivo y fácil. Y es que ese es el tema, muchos problemas para los seres humanos son fáciles de entender. Por ejemplo decimos “quiero que me reste esta celda menos esta celda” y ya. Pero el problema viene al querer explicarle eso a la máquina y determinarlo con un patrón. Y justamente eso has logrado, lo identificaste y lograste explicárselo a la máquina.

        Muchas gracias por compartir :raised_hands:t2: Pienso que estaría bueno que lo compartieras en Linkedin ya que a alguien más le puede servir.

        Raulcip

          Gracias, Diego!

          Así es, he publicado el dashboard en Linkedln: https://www.linkedin.com/posts/raulcipch_geotecnia-mineria-powerbi-activity-6712584278632390656-yNFJ

          Este es el link dashboard en Power BI Service: https://app.powerbi.com/view?r=eyJrIjoiZWI3ZjgwMjgtZDI5Ni00ODkwLTk0M2UtODJkMDU4YjI0MDZhIiwidCI6IjYyMWUyNzlhLTU1M2MtNGQ4NC1hMmI2LThmMzVhMDc3ZTY2MSJ9

          Agradecería lo pudieran compartir.
          Quedo atento a cualquier comentario, recomendación. La idea es apoyarnos entre todos.

          Saludos Comunidad!

          Diego
          Participante

            Listo Raul :raised_hands:t2: Disculpa la tardanza pero ya lo compartí.

          Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
          • Debes estar registrado para responder a este debate.