Visualizzazione somma parziale

lunedì 21 aprile 2008 - 17.01

Anubis Profilo | Junior Member

Ciao a tutti,

Io ho un grafico in cui rappresento sull'asse delle X il tempo e su quello delle Y il Count di un valore numerico.
La tabella è più o meno così:

TIME_____COUNT
13:00_____1
13:10 _____3
13:20 _____1
13:30 _____5

quindi il mio grafico ha un andamento sull' asse delle x con i valori 1,3,1,5.

Nelle proprietà del grafico sull'asse delle x faccio il count della query

A me servirebbe rappresentare sull'asse delle x, le somme parziali del campo count ovvero non 1, 3, 1 ,5 ma

1, 4, 5, 10

c'è un metodo "diretto" per farlo, o devo usare magari una tabella di appoggio in cui inserisco i valori estratti e poi riconteggio il tutto?

grazie!

freeteo Profilo | Guru

ciao,
puoi usare un campo formula dove calcoli l'incremento parziale del valore, e poi costruisci il report su quello:

numbervar x := numbervar x + {@aasd}; numbervar x
* per vederlo puoi metterlo nella sezione "dettagli".

Oppure puoi usare un campo "sommatoria" ovvero "running total field" e gli dici quando fare la somma di cosa e quando azzerarsi.
Poi ovviamente o l'uno, o l'altro campo, lo metti nelle x del grafico...

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

Anubis Profilo | Junior Member

Ok ho risolto grazie mille.

Ora ho un altro problemino:

ho aggiunto una tabella al report, che io vorrei visualizzare solo quando faccio l'export in excel o pdf.
Se imposto la proprietà visible false oppure quella hidden true, non me la fa vedere ovviamente nè nel grafico, nè nell'export...
io vorrei che questa tabella non fosse visibile nella pagina del grafico, mentre vorrei farla vedere solo nell'export.

è possibile farlo??

freeteo Profilo | Guru

ciao,
per farlo devi passare attraverso un parametro (o una formula) che passi da codice al report, per discriminare le 2 situazioni.

E poi lanci l'esportazione del report tramite il metodo "ExportToDisk" o "Export" ....pero' appunto devi farlo da codice, in modo che prima di visualizzarlo sul viewer lo setti a "false" (se lo agganci alla proprieta' "sopprimi, ragioni in "logica negata" ) mentre appena prima di chiamare il metodo "Export" la setti a "true".
Oppure viceversa, ma la strada da seguire è questa...

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

Anubis Profilo | Junior Member

Puoi farmi 1 esempio per favore??

freeteo Profilo | Guru

ciao,
ti ho allegato un progettino semplice di esempio.
Nota che la gif ha la porprieta' "Suppress" impostata sul valore che assume la formula "{@esportazione}" come puoi vedere dall'icona [X+2] vicino a suppress.

Da codice, prima di esportarlo su file, setto la formula a "true" ed esportando il report viene renderizzato tenendo conto del valore di quella formula.

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

Anubis Profilo | Junior Member

ciao grazie per l'allegato, ma ho ancora qualche dubbio...



io ho aggiunto un bottone e al click del bottone gli ho aggiunto questo codice:


protected void Button1_Click(object sender, EventArgs e) { Warning[] warnings; string[] streamids; string mimeType; string encoding; string extension; parametriEXP.Add(new ReportParameter("EXP", "true")); byte[] bytes = ReportViewer1.LocalReport.Render( "Excel", null, out mimeType, out encoding, out extension, out streamids, out warnings); FileStream fs = new FileStream(@"E:\Progetti\Mavilo\mavilo\output.xls", FileMode.Create); fs.Write(bytes, 0, bytes.Length); fs.Close(); //Label1.Text = "Report exported to output.xls"; }

ora ho 2 problemi:

1. come vedi dal codice ho aggiunto un parametro EXP che setto a true quando clicco sul bottone dell'export, nel page load della pagina è settato a false e nelle proprietà della tabella nel tab visibility, nella casella Expression, ho messo questa espressione: =Parameters!EXP.Value

il problema è ke la tabella è sempre visibile

2. col codice che vedi sopra il file in excel mi viene salvato sul server, ovviamente essendo 1 applicazione web la cosa non va bene... avrei bisogno di: o aprire 1 pagina excel con dentro il grafico, oppure salvare il file in locale.


grazie mille per l'aiuto

freeteo Profilo | Guru

>1. come vedi dal codice ho aggiunto un parametro EXP che setto
>a true quando clicco sul bottone dell'export, nel page load della
>pagina è settato a false e nelle proprietà della tabella nel
>tab visibility, nella casella Expression, ho messo questa espressione:
>=Parameters!EXP.Value
>
>il problema è ke la tabella è sempre visibile
Il codice che hai postato è "sqlReporting" e non "Crystal report" ci siamo capiti male...

Cmq il codice corretto è di qeusto tipo:
LocalReport report = this.reportViewer1.LocalReport; report.ReportPath = "rdlc\\Report1.rdlc"; report.DataSources[0] = new ReportDataSource( report.DataSources[0].Name , ...); List<ReportParameter> parametri = new List<ReportParameter>(); parametri.Add(new ReportParameter("...", "True")); report.SetParameters(parametri);

e cmq se metti giu' il parametro nel report,e lo visualizzi in anteprima, vedi anche se il valore che prende dopo che glielo hai passato è corretto...



>2. col codice che vedi sopra il file in excel mi viene salvato
>sul server, ovviamente essendo 1 applicazione web la cosa non
>va bene... avrei bisogno di: o aprire 1 pagina excel con dentro
>il grafico, oppure salvare il file in locale.
salvare il file in locale putroppo non è possibile per come è strutturato il browser, tu devi darlo in output e poi il browser dovrebbe chiedere se salvare il file


>grazie mille per l'aiuto
di niente, spero solo di esserti stato utile

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5