Domanda

Il mio compito attuale è quello di produrre un rapporto su una collezione di abbastanza grande insieme di dati lineare (cioè dove valore 10 dipende da alcuni fattori medi da 9 8 7 6 5 4 3 etc

Il problema è anche che questa logica (consente di chiamare media mobile ora) non è fisso e sarà molto probabilmente cambierà. Ho bisogno non solo di generare un report in HTML, ma in Excel e forse mail a utilizzare automaticamente (quindi alcune delle variabili saranno relativi, cioè generare un rapporto del mese scorso, per esempio)

Quindi la mia domanda è devo usare un motore di reporting o no? (Jasper, Pentaho, Birt)

I miei piloti sono qui -Il logica segnalazione cambierà, ma sarà modificato dagli sviluppatori. Sarà logica complessa in modo che sarà più facile fatto in codice in Java. -Il rapporto deve essere salvato e inviato via email in formato excel. -Il compito segnalazione sarà enorme (qualche cosa in cui ETL potrebbe essere utile) obblighi di segnalazione -future non sono una considerazione qui, il sistema andrà una riscrittura se ha bisogno di essere generico ed estendere-grado.

ho potuto solo creare un'entità chiamata rapporto, memorizzare il tipo (un enum) e la lista dei parametri (dal URL riposante) e altri metardata (che ha creato, quale data, ecc, dove inviare e parametri relativi vengono memorizzati) e poi, quando un po 'di trasformazione è stato fatto, conservarlo in DB, solo per recuperare i dati elaborati per il regolatore di consumare. Si semplifica notevolmente le tecnologie coinvolte (io uso Spring MVC e dovrebbe essere sufficiente con un po 'spruzzata di POI). Ma mi chiedo se si utilizza il motore di reporting sarebbe più semplice.

È stato utile?

Soluzione

La mia esperienza con Jasper e Birt (e le relazioni commerciali del Vento) è che non vi aiuterà molto con il numero scricchiolio parte della relazione; essi sono più adatti per presentare i dati che avete già trasformato in una struttura idonea. Jasper, Birt e Windward report possono facilmente gestire totali parziali e le medie, ma tutti i calcoli più complessi di quello sono un vero e proprio dolore (e può essere impossibile a seconda delle calcoli). Non ho familiarità con Pentaho.

Nella tua situazione mi sarebbe o attuare le calcuations in costume codice Java, o in un processo ETL.

È quindi possibile utilizzare un motore di reporting per presentare i risultati dei calcoli in formato HTML e di Excel. Ma se non si dispone di Jasper o Birt, ecc, già integrato nella vostra applicazione, allora non mi consiglia l'aggiunta di uno solo per questo. Sarebbe più veloce di scrivere manualmente i dati del report utilizzando rispettivamente JSP e POI. Jasper e Birt rapporti sono abbastanza facili da creare, ma solo una volta che hai il motore di reporting integrati correttamente!

Altri suggerimenti

Non ho mai usato Birt, ma ho usato Jasper, e il mio unico commento sarebbe: utilizzando un motore di reporting ha una curva di apprendimento, e aggiunge overhead di essa la propria. Quindi, se si sta facendo un po 'una tantum relazione, e se il layout del rapporto reale è abbastanza semplice, non si può guadagnare un sacco da un motore di reporting. Ma, il rovescio della medaglia, Jasper è davvero bravo a cose come lasciare che si scrive la logica una volta, quindi generare facilmente report in diversi formati (tra cui Excel).

Se c'è una forte esigenza che il report generato "aspetto abbastanza" e se ha un layout molto complesso, e se è necessario generare un sacco di formati, allora si può trovare il motore di reporting di valore.

Se si riesce a giustificare spendere un paio d'ore su di esso, scaricare Jasper (o Birt o altro) e passare per alcuni dei tutorial / demo e ottenere una sensazione di esso. Che sarà probabilmente più prezioso per voi di tutti i commenti che si arriva qui.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top