Laravel y PowerBi

En el mundo actual de análisis de datos, la visualización juega un papel crucial. Laravel, un popular framework de desarrollo web, y Power BI, una herramienta de análisis de datos de Microsoft, pueden combinarse para crear informes y paneles interactivos. En este artículo, exploraremos cómo integrar Laravel con Power BI y proporcionaré un ejemplo de uso práctico.

Laravel y Power BI: La combinación perfecta.

La combinación de Laravel, un popular framework de desarrollo web, y Power BI, una herramienta de visualización de datos, puede potenciar significativamente la capacidad de análisis y presentación de datos en aplicaciones web. En este artículo, exploraremos una integración práctica de Laravel y Power BI, paso a paso, para crear un ejemplo completo de uso. Aprenderemos cómo configurar la conexión entre Laravel y Power BI, cómo obtener datos de una base de datos en Laravel y visualizarlos en Power BI, y finalmente, cómo incrustar los informes generados de Power BI en una aplicación Laravel.

Paso 1: Configuración de Power BI:

 El primer paso es configurar Power BI para poder crear informes interactivos. Descarga e instala Power BI Desktop, una herramienta poderosa para crear visualizaciones de datos. Conecta Power BI Desktop a tu base de datos de Laravel para importar los datos que deseas analizar y visualizar.

Una vez que hayas creado el informe deseado en Power BI Desktop, publícalo en la nube de Power BI. Esto generará un enlace de inserción que utilizaremos más adelante para incrustar el informe en nuestra aplicación Laravel.

Paso 2: Preparación de Laravel:

 En tu proyecto Laravel, asegúrate de tener instalado Composer, la herramienta de administración de paquetes de Laravel. Abre una terminal en el directorio raíz de tu proyecto y ejecuta el siguiente comando para instalar el paquete necesario para la integración con Power BI:

composer require spatie/laravel-power-bi

Una vez instalado el paquete, abre el archivo config/powerbi.php y configura las credenciales de Power BI para tu aplicación Laravel.

Paso 3: Obtención de datos de la base de datos: 

Para este ejemplo práctico, supongamos que tenemos una tabla "ventas" en nuestra base de datos Laravel que contiene información sobre las ventas realizadas. Creamos un modelo llamado Venta para interactuar con esta tabla.

Dentro del controlador donde deseamos obtener los datos de ventas, importamos el modelo Venta y ejecutamos una consulta para obtener los datos relevantes. Por ejemplo:

use App\Models\Venta;

class ReportController extends Controller
{
    public function ventas()
    {
        $ventas = Venta::select('fecha', 'monto')->get();

        // Procesar y preparar los datos para Power BI

        return view('reportes.ventas', compact('ventas'));
    }
}

Paso 4: Preparación de datos para Power BI: 

Antes de enviar los datos a Power BI, necesitamos procesarlos y prepararlos de acuerdo con los requisitos del informe. Por ejemplo, podemos estructurar los datos en un formato tabular con las columnas necesarias, como fecha y monto de venta.

Para enviar los datos a Power BI, utilizamos la biblioteca spatie/laravel-power-bi. Dentro del controlador, importamos la fachada PowerBiFacade y utilizamos el método uploadData para enviar los datos a Power BI. Por ejemplo:

use Spatie\PowerBI\PowerBiFacade;

class ReportController extends Controller
{
    public function ventas()
    {
        $ventas = Venta::select('fecha', 'monto')->get();

        // Procesar y preparar los datos para Power BI

        // Convertir los datos en un arreglo asociativo
        $data = [];
        foreach ($ventas as $venta) {
            $data[] = [
                'Fecha' => $venta->fecha->format('Y-m-d'),
                'Monto' => $venta->monto,
            ];
        }

        // Subir los datos a Power BI
        $datasetId = PowerBiFacade::createDataset('Ventas', $data);

        return view('reportes.ventas', compact('datasetId'));
    }
}

 

En este ejemplo, convertimos los datos de ventas en un arreglo asociativo con las columnas "Fecha" y "Monto". Luego, utilizamos el método createDataset de PowerBiFacade para crear un nuevo conjunto de datos en Power BI llamado "Ventas" y cargar los datos en él. El método createDataset devuelve el ID del conjunto de datos recién creado.

Paso 5: Visualización del informe en Power BI: 

Ahora que hemos cargado los datos en Power BI, podemos crear visualizaciones y diseñar nuestro informe. Abre Power BI Desktop y conéctate a tu conjunto de datos "Ventas". Utiliza las herramientas y visualizaciones de Power BI para crear gráficos, tablas y cualquier otra representación visual que desees mostrar en tu informe.

Una vez que hayas diseñado tu informe en Power BI Desktop, guárdalo y publícalo en la nube de Power BI.

Paso 6: Incrustación del informe en Laravel:

 Ahora viene la parte emocionante: la incrustación del informe de Power BI en nuestra aplicación Laravel. Abre la vista ventas.blade.php y utiliza el ID del conjunto de datos ($datasetId) para generar el enlace de inserción en el informe. Por ejemplo:

<!DOCTYPE html>
<html>
<head>
    <title>Informe de Ventas</title>
    <style>
        iframe {
            width: 100%;
            height: 800px;
        }
    </style>
</head>
<body>
    <h1>Informe de Ventas</h1>
    <iframe src="https://app.powerbi.com/reportEmbed?reportId=ID_DEL_REPORTE&groupId=ID_DEL_GRUPO&datasetId={{ $datasetId }}" frameborder="0" allowFullScreen="true"></iframe>
</body>
</html>

Asegúrate de reemplazar "ID_DEL_REPORTE" e "ID_DEL_GRUPO" con los identificadores correspondientes de tu informe en Power BI.

 

Paso 7: Ruta

A continuación, se muestra cómo agregar la ruta en Laravel para acceder al informe de ventas:

En el archivo routes/web.php, agrega la siguiente ruta para acceder al informe de ventas:

Route::get('/ventas-report', '[ReportController::class','ventas'])->name('reporte.ventas');

Asegúrate de reemplazar 'ReportController@ventas' con el controlador y método correspondiente en tu aplicación Laravel. También puedes personalizar el segmento de URL ('/ventas-report') según tus preferencias.

Con esta ruta configurada, los usuarios podrán acceder al informe de ventas en tu aplicación Laravel utilizando la URL /ventas-report.

Recuerda que dentro del método ventas() del controlador ReportController, debes devolver la vista 'reportes.ventas' que contiene el código HTML para mostrar el informe incrustado. Asegúrate de que la vista esté ubicada en la ruta correcta dentro de tu directorio de vistas.

Conclusión: 

En este artículo, hemos explorado una integración práctica de Laravel y Power BI, utilizando un ejemplo completo paso a paso. Aprendimos cómo configurar Power BI, obtener datos de una base de datos Laravel, preparar los datos para Power BI, diseñar un informe en Power BI Desktop y, finalmente, incrustar el informe en una aplicación Laravel.

La combinación de Laravel y Power BI proporciona un poderoso conjunto de herramientas para analizar y visualizar datos en aplicaciones web. Puedes adaptar este ejemplo a tus propias necesidades y aprovechar al máximo las capacidades de análisis y visualización de datos de Power BI en tu aplicación Laravel.

Para crear un comentarío debes registrarte

Login Registro

Comentarios Relacionados

No hay comentarios para el post por el momento