Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
Tengo la carpeta local RawData. Esta carpeta tiene datos de diferentes días.
RawData_20250601.xlsx y así sucesivamente.
El archivo RawData_20250601.xlsx contener datos históricos de 2025-0101
El 2025-06-03 los datos de RawData_20250602.xlsx se extraen y cargan en esta carpeta
Cómo configurar la actualización incremental para cargar solo RawData_20250602.
En el futuro, es necesario actualizar gradualmente solo el archivo RawData más reciente y no todos los archivos de la carpeta RawData
Necesita los pasos para lograr lo anterior en Power BI Desktop y Power BI Service
Bien
CheenuSing
Hola @SamsonTruong
La solución es factible, si uno tiene una licencia premium por usuario.
Si los archivos siguen en la carpeta de SharePoint, se vuelven a anexar los mismos datos, si no se cargan datos nuevos.
Creo que Power Automate es una buena opción.
Necesita pasos en powerr automate, para verificar cualquier archivo presente en
la carpeta de datos incrementales y, a continuación, muévala al flujo de datos de ensayo y, a continuación, del anexión de datos de ensayo al flujo de datos histórico, al final de la misma, mueva el archivo de la carpeta incremental a la carpeta archve de SharePoint.
¿Puedes ayudar con lo anterior?
Bien
CheenuSing
Hola @CheenuSing ,
En la solución que sugerí, los mismos datos no se volverán a anexar a menos que el flujo de datos se actualice de nuevo mientras no se haya agregado ningún archivo nuevo. Esto no ocurrirá, ya que usaremos un desencadenador basado en eventos para desencadenar el flujo de datos. Con Power Automate y la API de REST de Fabric, el flujo de datos solo se actualizará cuando se agregue un nuevo archivo a SharePoint. Si no se ha agregado ningún archivo nuevo, el flujo de datos no se actualizará. En el flujo de datos, también puede filtrar cada ejecución para extraer solo el archivo más reciente. De esta manera, no habrá necesidad de orquestar el movimiento de archivos en SharePoint, ya que cada ejecución solo examinará el archivo más reciente.
Si esto ayudó, márquelo como la solución para que otros también puedan beneficiarse. Y si lo encontró útil, siempre se agradecen las felicitaciones.
Gracias
Samson
Hola @SamsonTruong ,
¿Cómo podemos asegurarnos de que el flujo de datos de destino, que es una combinación de historial y archivo actual, no pierda los archivos incrementales diarios cargados anteriormente?
También puede compartir un breve flujo de Power Automate.
Bien
CheenuSing
Hola @CheenuSing , con dataflow gen 2, tiene la opción de colocar los datos en una capa de almacenamiento como Fabic Lakehouse. En este caso, a diferencia de Dataflow gen 1, los datos no se almacenan en el flujo de datos. A continuación, la generación de flujo de datos 2 se usa como una herramienta ETL que anexa los datos a la capa de almacenamiento.
En términos de un flujo de Power Automate. Un ejemplo sería utilizar lo siguiente:
Si esto ayudó, márquelo como la solución para que otros también puedan beneficiarse. Y si lo encontró útil, siempre se agradecen las felicitaciones.
Gracias
Samson
Conéctate conmigo en LinkedIn (en inglés)
Echa un vistazo a mi Blog
¿Vas a asistir a la Conferencia Europea de la Comunidad Microsoft Fabric? Echa un vistazo a mi Sesión
Hola @CheenuSing ,
Siguiendo con este hilo.
En las directrices compartidas por @SamsonTruong @Nasif_Azam anteriormente, se describe cómo funciona Dataflow Gen2 como una herramienta de ETL, con datos almacenados en un Fabric Lakehouse.
Si eso ayudó a resolver su situación, considere marcarlo como la respuesta aceptada, esto ayuda a otros miembros de la comunidad con preguntas similares.
Si sigues teniendo problemas o necesitas más aclaraciones, no dudes en compartir más detalles, ¡estaremos encantados de ayudarte!
¡Gracias por formar parte de la comunidad de Microsoft Fabric!
Hola @CheenuSing
Quería dar seguimiento a esta discusión.
En las instrucciones proporcionadas por @SamsonTruon y @Nasif_Azam anteriormente se explica cómo funciona Dataflow Gen2 como una herramienta ETL, utilizando datos almacenados en un Fabric Lakehouse. Si esta información ha resuelto tu problema, considera marcarla como la respuesta aceptada. Esto ayudará a otros miembros de la comunidad que puedan tener preguntas similares.
Si sigues teniendo problemas o necesitas más aclaraciones, no dudes en compartir más detalles. ¡Estamos aquí para ayudar!
Hola @CheenuSing ,
Para configurar la actualización incremental solo para el archivo más reciente (por ejemplo, RawData_20250602.xlsx) desde una carpeta local o de SharePoint en Power BI, puede seguir este enfoque de dos partes:
Emitir
Tiene una carpeta (local o SharePoint) que contiene archivos de Excel con el nombre siguiente:
RawData_20250601.xlsx RawData_20250602.xlsx ...
Cada archivo contiene datos históricos a partir del 1 de enero de 2025. Desea cargar solo el archivo más reciente cada día y actualizar solo eso.
Idea: En lugar de la actualización incremental clásica de Power BI (que se basa en fechas), usará la lógica de Power Query para seleccionar dinámicamente el archivo más reciente y cargar solo sus datos.
Pasos en Power BI Desktop
1. Conéctese a la carpeta
Haga clic en "Combinar archivos", luego vaya al Editor de Power Query y haga lo siguiente:
En la consulta de origen :
Agregue una nueva columna para extraer la fecha del nombre del archivo:
= Table.AddColumn(Source, "FileDate", each try Date.FromText(Text.Middle([Name], 8, 8)) otherwise null, type date)
Ordene FileDate de forma descendente.
Mantenga la fila 1 superior usando: Inicio > Mantenga las filas superiores > 1
Si Power BI creó una función personalizada como Transform Sample File, invóquela solo en la fila filtrada.
Ahora solo se procesa el archivo más reciente.
Pasos en Power BI Service
En Power BI Service:
Vaya a Configuración del conjunto de datos.
Establezca el programa de actualización (por ejemplo, diario).
Asegúrese de que la puerta de enlace esté configurada:
En el caso de los archivos locales: use la puerta de enlace de datos local.
Para SharePoint: no se necesita puerta de enlace.
Mejora opcional mediante el uso de parámetros
Use un parámetro de Power Query como LatestDate y filtre los archivos según corresponda:
= Table.SelectRows(Source, each [FileDate] = LatestDate)
Incluso puede hacerlo dinámico configurando LatestDate en:
= List.Max(Source[FileDate])
Si esta solución le resultó útil, considere aceptarla y felicitarla (Me gusta), es muy apreciada y ayuda a otros a encontrar la solución más fácilmente.
Saludos
Nasif Azam
Hola @Nasif_Azam ,
He agregado los datos más recientes al archivo existente. En el enfoque anterior, sobrescribirá el archivo existente o agregará datos.
Bien
CheenuSing
Hola @CheenuSing ,
Mi enfoque fue principalmente correcto para el escenario original en el que se crea un nuevo archivo todos los días y solo se carga el archivo más reciente en función del nombre del archivo (por ejemplo, RawData_20250602.xlsx).
Sin embargo, aclaró: "He agregado los datos más recientes al archivo existente".
Ya no usan un nuevo archivo por día. Ahora están anexando nuevos datos al mismo archivo de Excel, lo que cambia la estrategia de la solución.
Lo que realmente hace mi enfoque
Mi lógica para seleccionar el archivo más reciente de una carpeta mediante el filtrado basado en nombres de archivo era acertada si el escenario implicaba un archivo nuevo por día.
Expliqué claramente cómo filtrar y procesar solo el archivo más reciente usando Power Query, una solución creativa cuando la actualización incremental tradicional no encaja.
Donde mi enfoque no funcionó
Mi enfoque no abordó el caso en el que:
Los datos se agregan continuamente al mismo archivo de Excel (en lugar de nuevos archivos cada día)
La necesidad es procesar incrementalmente solo los datos recién agregados
En tal caso, podría volver a cargar todo el archivo en cada actualización, lo que anula el objetivo de la actualización incremental.
Si esta solución le resultó útil, considere aceptarla y felicitarla (Me gusta), es muy apreciada y ayuda a otros a encontrar la solución más fácilmente.
Saludos
Nasif Azam
Hola @Nasif_Azam ,
Mi necesidad es así.
En el día 1, la carpeta contiene el archivo 1 que se carga en Power BI.
El día 2, el usuario carga el archivo 2 en la carpeta que contiene solo datos nuevos.
En el día 2: Es necesario anexar los datos de la FIle 2 a la FIle 1 ya cargados en el modelo de datos.
Por favor, sugiera pasos, primero en el escritorio para probar y luego en el servicio
Bien
CheenuSing
Hola @CheenuSing ,
Gracias por la aclaración, ahora entiendo completamente el flujo de trabajo al que apuntas.
Escenario actualizado
Estrategia de solución actualizada
Se trata de un enfoque híbrido que combina la lógica de Power Query y la estrategia de anexión de Power BI, aunque no usa la característica tradicional de actualización incremental. A continuación te explicamos cómo puedes hacerlo:
Pasos en Power BI Desktop
= Table.AddColumn(Source, "FileDate", each try Date.FromText(Text.Middle([Name], 8, 8)) otherwise null, type date)
Debe almacenar los datos cargados del día 1 en algún lugar de forma persistente, ya que Power BI Desktop no mantiene los estados de actualización anteriores. Dos opciones:
Cree un flujo de datos de Power BI en el servicio.
Una consulta carga datos históricos existentes (podrían almacenarse en un CSV, una lista de SharePoint o OneDrive Excel).
La segunda consulta carga el archivo más reciente siguiendo los pasos anteriores.
Use Anexar consultas para combinar ambos dentro del flujo de datos.
Opción 2: Conjunto de datos o tabla de almacenamiento provisional
Cargue los datos del día 1 en una tabla de Power BI o expórtelos a SharePoint/Excel/Azure SQL.
El día 2, cargue el nuevo archivo y use Consultas anexadas para combinarlo con esa tabla persistente.
Guarde o exporte de nuevo después de combinar, para que las actualizaciones futuras no pierdan el historial.
Pasos en Power BI Service
1. Publicar el informe
2. Establecer actualización programada
Vaya a Configuración del conjunto de datos > actualización programada
Para:
Carpetas locales ➜ Usar la puerta de enlace local
Carpetas de SharePoint ➜ No se necesita puerta de enlace
3. Estrategia de anexión automática
Si usas un archivo de Excel de Dataflow + ensayo (como un HistoricalData.xlsx), deja que Power BI siga anexando los datos del nuevo archivo.
También puede usar Power Automate para mover los archivos procesados a otra carpeta después de la actualización para evitar duplicados.
Resumen
Extraerá y filtrará el archivo más reciente en Power Query.
Para anexar y conservar el historial, use Dataflows o almacenamiento persistente externo.
Power BI Desktop por sí solo no admite verdaderos anexos incrementales a menos que se integre con un almacén externo.
Si esta solución le resultó útil, considere aceptarla y felicitarla (Me gusta), es muy apreciada y ayuda a otros a encontrar la solución más fácilmente.
Saludos
Nasif Azam
Hola @Nasif_Azam ,
Cree un flujo de datos de Power BI en el servicio.
Una consulta carga datos históricos existentes (podrían almacenarse en un CSV, una lista de SharePoint o OneDrive Excel).
La segunda consulta carga el archivo más reciente siguiendo los pasos anteriores.
Use Anexar consultas para combinar ambos dentro del flujo de datos.
Lo anterior es Ok para el historial y el archivo del día 2 combinados como Fullset.
en el Día 3 si usamos el mismo enfoque serán datos históricos y los del Día 3 solo en el FUllset. . Pérdida de datos del día 2.
Entonces, ¿cómo superar esto?
Opción 2: Conjunto de datos o tabla de almacenamiento provisional
Cargue los datos del día 1 en una tabla de Power BI o expórtelos a SharePoint/Excel/Azure SQL.
El día 2, cargue el nuevo archivo y use Consultas anexadas para combinarlo con esa tabla persistente.
Guarde o exporte de nuevo después de combinar, para que las actualizaciones futuras no pierdan el historial
Cómo se va a guardar o exportar. Agregue el código o las capturas de pantalla del servicio Power BI
Bien
CheenuSing
Hola @CheenuSing ,
Aquí hay una solución que recomendaría. Recomendaría usar un flujo de datos gen 2 y conectarlo a su carpeta de SharePoint. En el flujo de datos, agregue un paso para filtrar todos los archivos, excepto el archivo agregado más recientemente. La condición de filtro puede estar en el nombre del archivo, por ejemplo, ya que el nombre del archivo es incremental. Esto garantizará que el flujo de datos solo cargue el archivo más reciente. A continuación, haz que el flujo de datos anexe los datos al destino.
Para llevar esto un paso más allá y automatizarlo por completo, puede crear un flujo de Power Automate que detectará cuándo un nuevo archivo aterriza en su carpeta de SharePoint, luego el flujo puede llamar a la API de REST de Fabric para iniciar el flujo de datos.
Si esto ayudó, márquelo como la solución para que otros también puedan beneficiarse. Y si lo encontró útil, siempre se agradecen las felicitaciones.
Gracias
Samson