Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
8 months ago

Datos de Excel a Power BI

Estoy trabajando en un archivo de Excel para datos del cuarto trimestre del año pasado, está en el formato adjunto. Me cuesta enlazar en Power BI, ya que mi archivo actual tiene fechas y este solo tiene el cuarto trimestre y semanas, además el formato es bastante desordenado , como puedes ver. ¿Algún consejo, por favor?

9 Replies

  • ¡Hola @abdo132

    Power BI funciona mejor con datos limpios y tabulares (de formato largo), así que este diseño de Excel con trimestres y números de semana como cabeceras es difícil de modelar. El enfoque recomendado es reformular el archivo de Excel en Power Query: despivotar las columnas de la semana del cuarto trimestre en filas, crear columnas adecuadas como Fecha / Semana / Trimestre / Producto / Valor, y eliminar celdas y formatos fusionados. Una vez normalizados los datos, puedes relacionarlos con tu tabla de fechas existente y reutilizarlos fácilmente en los visuales de Power BI.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Eso es lo que hice, pero el problema es que no puedo vincularlo con los datos del año actual, así que busco una forma de combinar el archivo si es posible

      • Syndicate_Admin's avatar
        Syndicate_Admin
        Icon for Administrator rankAdministrator

        Hola @abdo132

        Crear columnas Año + Semana en los datos de Excel
        Año = 2024 (o el año pasado)
        Semana = CuartoSemanaUn

        Crea una clave de fecha/semana
        Ejemplo: Año * 100 + Semana

        Crea la misma clave en tus datos del año actual
        De tu tabla de fechas (Año + SemanaNum)

        Añadir los datos de Excel a los datos actuales
        Power Query → Añadir consultas
        Asegúrate de mantener las mismas columnas: Producto, Año, Semana, Valor

        Tabla de hechos
        Tabla de Fechas One
        Funciona con todos los elementos visuales

        Si no puedes añadir
        Usa una tabla puente de fechas/semanas:

        Año
        Número de semana
        Cuarto


        Relaciona ambos conjuntos de datos con él.

        Por favor, avisa si la solución o enfoque te resulta útil. ¡Gracias!

  • Re: Manejo de datos semanales/trimestrales en Excel con formato desordenado

    Hola. Este es un reto común de limpieza de datos. Para vincular este archivo de Excel a tu panel de control, necesitas usar la función Unpivot en Power Query.

    Primero, importa el archivo y usa la función Eliminar filas superiores para eliminar los encabezados desordenados. A continuación, selecciona tus columnas estáticas y elige Despivotar otras columnas. Esto convertirá tus semanas en una lista vertical.

    Como tu archivo solo tiene números de semana, debes crear un enlace de fecha. Puedes añadir una columna personalizada para asignar una fecha específica a cada semana. Por ejemplo, asigna el primer lunes del cuarto trimestre a la Semana 1.

    Una vez que tengas una columna de fechas real, puedes crear una relación con tu Tabla de Fechas principal en la vista de modelos.

    Espero que esto te ayude a limpiar los datos. Si esto funciona, por favor marca esto como una Solución Aceptada.

    ¡Feliz Año Nuevo!

    Vishwanath

  • @abdo132

    Debes usar Power Query para normalizar la tabla y crear un puente hacia tu dimensión de fecha existente.

    Paso 1: Normalizar la disposición "desordenada" (despivotar)

    1. Abrir Power Query (Transformar datos).
    2. Selecciona tus columnas de Producto Nivel 2 y Cuartos .
    3. Haz clic derecho y selecciona "Despivotar otras columnas".
      • Esto agrupa tus semanas horizontales en dos columnas verticales: Atributo (Número de semana) y Valor (La cantidad).
    4. Renombra "Atributo" a Week.

    Paso 2: Crear el enlace de la fecha

    Como tu panel depende de una Tabla de Fechas, necesitamos convertir la "Semana 1" en una fecha real:

    1. En Power Query, ve a Añadir columna > Columna personalizada.
    2. Utiliza esta lógica para encontrar el inicio de la semana para 2025-T4: Date.AddDays(#date(2025,10,1), (Number.From(Text.Select([Week], {"0".." 9"}))-1)*7)
    3. Cambia el tipo de dato a Fecha.

    Paso 3: Corrección de rendimiento

    1. En la Vista de Modelo, crea una relación entre tu nueva columna de Fecha y tu Calendario[Fecha].
    2. Actualiza tu visual de Matrix para usar la fecha de tu tabla de Calendario en lugar de las columnas brutas de Excel.

    Por qué esto soluciona el lag de los 230s:

    Tu Analizador de Rendimiento muestra que el 99% del tiempo de carga es la consulta DAX (214.502ms). Al despivotar y enlazar a una dimensión de fecha adecuada, permites que el motor use el Contexto de Filtro en lugar de una iteración forzada fila por fila. Esto debería reducir el tiempo de carga de minutos a milisegundos.

    Si esta transformación ha arreglado tu diseño y eliminado el retraso de rendimiento, por favor marca esto como una "Solución aceptada" para ayudar a otros con migraciones de Excel a PBI.

    Saludos

    Vishwanath

  • Esto es un problema de forma de datos, no una limitación de Power BI. Puedes usar estos datos, pero primero debes normalizarlos. Intentar modelarlo "tal cual" siempre será doloroso.

    • Las fechas se distribuyen entre columnas (encabezados del cuarto trimestre / semana)
    • No hay una clave de fechas real que relacione tu tabla de fechas
    • Semántica mixta en los encabezados (Trimestre + Semana + Año)
    • Es imposible crear una relación limpia de esta forma

    Power BI espera filas = eventos, columnas = atributos.

    Solución recomendada:

    1) Despivotar las columnas semanales

    En Power Query:

    • Mantén el Nivel de Producto 2
    • Seleccionar columnas de valores durante toda la semana
    • Columnas de despivote

    Recibirás:

    Product | Attribute | Value TV | 2025-Q4 Week 1 | 134,071

    Renombrado:

    • Atributo → AñoCuartelSemana
    • Valor → Cantidad

    2) Año dividido / Trimestre / Semana

    Divide el YearQuarterWeek en:

    • Año
    • Cuarto
    • WeekNum

    Ahora tienes campos propiamente dichos:

    Product | Year | Quarter | Week | Amount

    3) Crear un mapeo de fechas de una semana →

    Como tu modelo principal es basado en fechas, necesitas uno de estos:

    Mejor opción (recomendada):

    • Crea una tabla de fechas con Año + Número de Semana
    • Añadir SemanaInicioData (lógica semanal ISO)
    • Relacionarme:
    Fact[Year + Week] → Date[Year + Week]

    Si no sabes las fechas exactas:

    • Crea una cita sintética como:
    WeekDate = DATE ( Year, 1, 1 ) + ( Week - 1 ) * 7
  • Hola @abdo132 ,gracias por acercarte a la comunidad de Textile.

    @cengizhanarslan , @AshokKunwar , @ryan_mayu @krishnakanth240 Gracias por tu rápida respuesta.

    @abdo132 Quería hacer un seguimiento y confirmar si has tenido la oportunidad de revisar la información compartida por @cengizhanarslan , @AshokKunwar , @ryan_mayu @krishnakanth240 Si tienes alguna pregunta o necesitas más aclaraciones, no dudes en ponerte en contacto con ella.

    Realmente agradecemos tu implicación y te damos las gracias por ser una parte activa de la comunidad.

    Saludos

    Lakshmi.

    • Syndicate_Admin's avatar
      Syndicate_Admin
      Icon for Administrator rankAdministrator

      Hola @abdo132 ,

      Solo quería comprobar si tu problema se ha resuelto. Si aún tienes alguna pregunta o necesitas ayuda, no dudes en contactarme, estaré encantado de ayudarte.

      Gracias por ser una parte activa de la comunidad. ¡Espero saber de ti!

      Saludos
      Lakshmi