Este artículo te explicará Cómo pasar un parámetro, o incluso una variable, desde una hoja de cálculo de Excel a Power QueryEsta técnica le permitirá crear consultas más interactivas.
Importar un archivo csv
Tomemos el caso muy simple deimportar un archivo csv En Excel con Power Query. La idea es que el nombre del archivo sea dinámico en la consulta de Power Query para recuperar el valor de una celda de Excel.

Queremos ser capaces para indicar, desde una hoja de cálculo de Excel, el nombre del libro a cargar.

Paso 1: crea una matriz con el nombre de la variable
La única forma de que Power Query "lea" el contenido de una celda es integrar esa celda en un tableroAsí que construimos una tabla con una sola celda que contiene nuestra variable. Sin olvidar el encabezado de columna, le damos un nombre característico.

Paso 2: cargar la tabla en Power Query
Luego, debes cargar estos datos en Power Query simplemente haciendo clic en el menú Datos > Desde tabla o rango

Paso 3: transformar la consulta en valor
En este punto, la consulta se carga en Power Query.

Pero para poder utilizar el contenido de la celda como variable, debes aplicar una transformación
- Haga clic derecho en la celda
- Seleccione la opción "Desglose". Este término se ha conservado en inglés, ya que la traducción literal "desglose" no es apropiada.

Esta acción convertirá la consulta en un valor.. También podemos ver que el ícono en el panel de consulta se ha transformado. El icono presenta el tipo de datos de la celda (aquí texto).

En este caso, el nombre de la variable es archivo tbl (el nombre de la consulta) y su contenido es el valor de la celda.
Paso 4: use la variable en la fuente
Ahora reemplazaremos el nombre del archivo en el paso de importación concatenando la ruta y la variable con el símbolo &

El problema es que después de la validación, Power Query devuelve un error bastante incomprensible. Fórmula.Firewall: Solicitud....
Paso 5: cambie la configuración de privacidad.
De hecho, para permitir que Power Query interprete el contenido de la variable, se deben eliminar los controles de confidencialidad.
- Ir al menú Fichier
- Después Opciones y parámetros
- Al final Opciones de consulta

- Entonces necesitas abrir el menú. Libro de trabajo activo > Privacidad
- Luego seleccione la opción Ignore los niveles de privacidad y potencialmente mejore el rendimiento

Ahora, al actualizar su consulta, la variable se interpreta como la fuente de sus datos.

Si desea conocer más sobre las razones para aplicar niveles de confidencialidad a sus solicitudes, le remito a este vídeo explicativo presentado por Chris Webb (Gerente senior de programas en Microsoft).
Paso 6: cambiar el nombre del archivo en la hoja de cálculo
Ahora solo necesita cambiar el nombre del archivo para cargar y actualizar la consulta (Datos > Actualizar)

Al instante, se carga un nuevo archivo en su libro de trabajo.

28/02/2024 a las 11:09
Hola,
Gracias por esta capacitación sobre el uso de “profundización” que no encontré en su libro. ¿Pero cómo cargar una consulta que depende de un parámetro en diferentes hojas dependiendo de este parámetro?
cordialmente
05/03/2024 a las 03:19
Hola, el libro ya es un poco antiguo porque Power Query ha evolucionado mucho en los últimos 6 años.
Ahora bien, para ver el problema, sin ver el contexto, es imposible darte una respuesta.
26/10/2023 a las 16:42
¡Mil gracias por la demostración, sencilla, clara y eficaz! Estuve 4 horas con ayuda de MS sin entender nada y ahí, en 10 minutos estaba hecho.
31/10/2023 a las 11:04
Muchas gracias por tu comentario 😀👍
26/06/2023 a las 11:00
Hola,
Logro extraer el valor de las celdas y crear una tabla coherente. pero estoy estancado en la explotación. Me explico: quiero depurar una base de datos de elementos obsoletos (en comparación con la fecha de producción), excepto que estos datos son intervalos de números (salida y llegada) vinculados a una referencia fija (ejemplo Marsella). El problema viene de que los intervalos varían a lo largo de los años y el objetivo es conseguir que si un intervalo se ha hecho varias veces solo se conserve la más reciente. ¿puede ayudarme?
24/08/2022 a las 12:54
Hola Frédéric, ¡gracias por esta demostración!
Tengo un problema con mis consultas, solo importan los números que necesito si son valores, si son de una fórmula me importan "0". Una solución ?
Merci d'avance.
21/09/2021 a las 13:46
¡Hola
Gracias por la información, al igual que Patrick, uso celdas con nombre.
porque en el diseño de configuración encuentro que se ve más limpio tener la etiqueta con el valor al lado que el modo tabla... & para el resto del procedimiento no cambia mucho
pero me quedé atascado en el siguiente paso: cuando seleccioné "Drill-down", transformó el campo en formato "lista" incluso si antes había convertido la columna en "texto"...
y fue con tu captura de pantalla que vi que el menú donde aparece el "drill-down" estaba en el celular y no en el encabezado...
¡Y hay magia, transforma la consulta en texto!
21/09/2021 a las 14:18
ARRIBA
31/08/2021 a las 18:36
Hola,
Estoy empezando a educarme sobre este tema.
No puedo reproducir tu ejemplo, aunque simple.
Se modifica la configuración de confidencialidad, no hay error ahí.
Expression.Error: Lo sentimos... No pudimos aplicar el operador & a los tipos Texto y Tabla.
detalles:
Operador=&
Izquierda=D:\.........\.....\Facturas\
Derecha=[Tabla]
¿Podrías guiarme, por favor?
cordialmente
05/09/2021 a las 10:22
Heeeeuuuu, no puedo hacer nada allí. Necesitas ver el contexto del libro de trabajo.
02/04/2021 a las 16:37
Hola,
Utilizo una celda denominada con la ruta y el nombre del archivo que recupero como fuente (aquí Fic_Preco):
Archivo =Excel.CurrentWorkbook(){[Name="Fic_Preco"]}[Contenido][Columna1]{0},
Fuente = Excel.Workbook(Archivo.Contenido(Archivo), nulo, verdadero),
Excel1 = Fuente{[Nombre="Excel"]}[Datos],
¿No es más sencillo?
03/04/2021 a las 10:56
Sí, esa también es una muy buena idea. Aún hay que adaptar el código porque tal como está no funciona. Pero, sobre todo, el artículo ilustra el problema relacionado con la seguridad de los datos y la forma de solucionarlo.
01/04/2022 a las 17:47
Hola,
Muchas gracias.
Pregunta rápida: Personalmente me gustaría preguntarle al usuario el archivo que quiere cargar sin llenar la celda de una tabla porque el archivo puede cambiar de nombre en cualquier momento.
Creo que necesitamos poner un fragmento de código antes de Let, pero admito que no puedo encontrar la solución.
Podria usted ayudarme ?
02/04/2022 a las 08:59
Imposible responderte sin ver el proyecto. Hay tantas situaciones que afectan un proyecto de Power Query que no puedo responderlas aquí
25/03/2021 a las 08:47
Muchas gracias, esto me ahorrará mucho tiempo y espacio.