pbi_add_table_from_file
Loads data from local files (CSV, Excel, JSON, HTML) into a Power BI model, auto-detecting headers and culture to build a query with transformed steps.
Instructions
Carga un archivo al modelo como lo haria una persona: abrir, transformar, cargar.
El mismo recorrido de Power Query —Obtener datos, promover encabezados, cambiar tipos, Cargar— pero escrito directo en el proyecto. Los pasos de la consulta se llaman como los pone Power BI ('Origen', 'Encabezados promovidos', 'Tipo cambiado'), asi que se puede abrir y editar en el editor sin que desentone.
Admite .csv, .txt, .tsv, .xlsx, .xlsm, .json, .html/.htm y '.xls'.
Sin dependencias nuevas: el .xlsx se lee como lo que es, un zip con
XML, y el HTML con html.parser de la biblioteca estandar.
Un '.xls' NO se toma por la extension: se mira la firma real del archivo. En la practica, casi ningun '.xls' que exportan los ERPs es el binario OLE2 que la extension promete -- es una tabla HTML con esa extension porque Excel la abre igual. Si de verdad es OLE2 (Excel 97-2003), se rechaza con un mensaje claro en vez de leerlo mal; si es un .xlsx renombrado, se lee como .xlsx.
Para HTML: si el archivo trae varias <table>, se elige la mas
grande y se avisa (usa table_id para elegir una en concreto, el
id HTML de la tabla). Los encabezados solo se promueven si la
tabla usa <th>; un reporte sin esa marca (el caso normal en un
reporte de ERP, donde la fila 1 es el titulo del reporte, no un
encabezado) carga con columnas 'Column1', 'Column2'...
La cultura se deduce del archivo, mirando como escribe los
decimales, y se emite SIEMPRE explicita en la consulta. Asumir la del
modelo es lo que convierte 10527.52 en diez millones sin que nada
falle: un informe que abre, pinta y miente. culture permite forzarla.
Lo escrito se valida antes de darlo por bueno: si el TMDL generado no
pasara pbi_validate_tmdl, se aborta en vez de dejar un proyecto que
no abre.
Filas de basura antes del encabezado: es el patron de export mas
comun de un ERP -fila 1 con el titulo del reporte y el resto de la
fila vacia, encabezado real en la fila 2-. Por defecto se AUTODETECTA
la primera fila que pueda ser encabezado (sin huecos y sin nombres
repetidos) y se dice cual se eligio en warnings. skip_rows fuerza
cuantas saltar cuando la deteccion no acierta; skip_rows=0 obliga a
usar la fila 1 tal cual. Aplica a csv y xlsx.
dry_run=true devuelve el TMDL y la M sin escribir nada.
sheet: hoja del libro; si se omite, la primera. Solo aplica a xlsx.
Escribe en TMDL: requiere el proyecto CERRADO en Power BI Desktop.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| sheet | No | ||
| culture | No | ||
| dry_run | No | ||
| table_id | No | ||
| overwrite | No | ||
| skip_rows | No | ||
| request_id | No | ||
| table_name | No | ||
| description | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |