2012-05-09 9 views
5

Ho questo scenario:Visualizza un server SQL OLAP in una pagina Web?

WServer 2008, SQL Server 2005, servizi di analisi MS (SSAS), ISS7 e OLAP CUBE.

Ho bisogno di incorporare il risultato OLAP in una pagina Web in un sito esistente.

Non ho bisogno di alcuna selezione di dimensione, nessun drill down, nessuna 3 dimensione, solo un risultato passivo di una query MDX preimpostata.

Qui di seguito ecco un esempio di query MDX utilizzata: (Sell statistica per un agente in un periodo)

SELECT NON EMPTY { [Measures].[Valore] } ON COLUMNS, 
    NON EMPTY { ([Prodotti].[Top Marca].[Top Marca].ALLMEMBERS * [Calendario].[Anno - Mese].[Mese].ALLMEMBERS * [Agenti].[Cod Agente].[Cod Agente].ALLMEMBERS) } 
    DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM (SELECT ({ [Calendario].[Anno].&[2012] }) ON COLUMNS 
    FROM (SELECT ({ [Agenti].[Vw Agenti].&[005] }) ON COLUMNS FROM [Vendite])) 
    CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS 

Di seguito un risultato facile che ho bisogno di mostrare nel sito:

olap result

ho provato ad usare report Viewer ma sembrano non posso a causa questo errore:

Remote report processing requires Microsoft SQL Server 2008 Reporting Services or later

e non riesco a installare SQL Server 2008, quindi ho bisogno di una soluzione alternativa.

Ho provato un po 'di open source ma hanno bisogno di installare JAVA e altro, la maggior parte inoltre non si collegano a SQL Server o richiedono un server web diverso.

ho provato anche utilizzare una query TSQL ma restituire solo 1 colonna per i mesi in cui nel bene ho bisogno di molte colonne mesi calcolati

NOTA: gli utenti sono molti con molti diverso sistema operativo e del browser come iPad , Mac, Windows, Linux, ... in modo che il risultato deve essere un output HTML

quindi la mia domanda è:

Qual è il modo migliore per sviluppare una semplice pagina web (asp o aspx) (lato server o lato client) per interrogare t lui cubo per ottenere un risultato semplice (deve essere HTML) come mostrato sopra, senza alcuna selezione da parte dell'utente?

O cosa non ho capito affatto con questo scenario?

Grazie in anticipo per chi può aiutarmi!

risposta

4

Bene, quello che stai mostrando è il risultato di un rapporto SSRS e vuoi accedervi dalla tua applicazione, giusto?

Esistono fondamentalmente 3 modi per interagire con SSRS dall'applicazione: il servizio Web ReportServer (noto anche come SOAP, ovvero la modalità di creazione di Gestione report), accesso URL (URL semplice del report nel report server) e i controlli ReportViewer.

Quando si utilizzano i controlli ReportViewer, è possibile utilizzare la modalità di elaborazione locale o la modalità di elaborazione remota. La modalità di elaborazione remota è quando il controllo recupera un rapporto completamente elaborato da un server SSRS. Quindi, come dice il nome, l'elaborazione è remota.

Come ho capito dalla tua domanda, non hai un'istanza SSRS disponibile per la connessione, ma hai il tuo rapporto. Questo è lo scenario in cui si utilizzerà la modalità di elaborazione locale. In questo tipo di modalità di elaborazione, i report vengono archiviati localmente con un'estensione di file .rdlc e il controllo apre una definizione di report, la elabora e quindi esegue il rendering del report nell'area di visualizzazione.

È inoltre necessario aggiungere il file di report al progetto VS e ci sono alcune restrizioni minori come i report possono essere visualizzati solo con i formati PDF, Excel e immagine.

+0

Grazie Diego per la tua chiara spiegazione e SÌ, non posso usare SSRS 2005 a causa della limitazione che solo SSRS 2008 può essere l'elaborazione remota. La piccola limitazione che hai menzionato in real è abbastanza grande per la mia visione, sono sicuro che l'utente vorrebbe selezionare una colonna e incollare in un altro documento, più gli utenti sono molti con molti sistemi operativi diversi come Ipad, Mac, Windows, Linux, ... quindi il risultato deve essere un output HTML. Ecco perché sto cercando qualcosa di facile da mostrare un semplice HTML, ho pensato che il pensiero fosse così difficile! Grazie ancora e un voto per te) –

+0

ciao, nessun problema, felice di aiutare. Sì, mostrare un cubo all'utente finale è una cosa complicata, devo ancora trovare una buona soluzione. SSRS è perfetto per i dati statici ma manca di funzionalità quando si tratta di interazione e, diciamo, portabilità – Diego

0

Da quello che stai chiedendo, non è necessario per i controlli ReportViewer ecc

C'è ADOMD.NET (invece di ADO.NET standard) che dovrebbe permettere di ottenere tutti i dati desiderati usando solo una query MDX statica. L'unica parte di ciò che è necessario considerare è come analizzare correttamente l'oggetto risultato per ottenere la tabella HTML nel formato desiderato.

Questa sarebbe una soluzione molto più leggera che utilizza cose come il visualizzatore di report.

Non ho alcun esempio su come analizzarlo dato che è qualcosa a cui sto lavorando attualmente, ma da quello che posso vedere finora non è difficile, e include sicuramente tutte le informazioni necessarie.

In termini di accesso al cubo, è possibile connettersi direttamente tramite TCP/IP (sembra disponibile quando si è accennato a una query TSQL) oppure è possibile impostare l'accesso MSMDPUMP.

Questo non fornisce alcun tipo di interattività, ma hai detto che non è un problema.

Cercherò di aggiornare questo con come analizzare le informazioni da un set di risultati ADOMD.NET ad un certo punto quando so come.

Problemi correlati