Reporting Services

venerdì 11 agosto 2006 - 12.30

f_fiore Profilo | Newbie

qualcuno sa dirmi come calcolare un campo cumulato in Reporting Services?
Ho definito un dataset con un campo che riporta un importo delle vendite per ogni giorno del mese.
Quando passo sul layout vorrei essere in grado di visualizzare nella tabella, a fianco dell'inporto delle vendite di ciascun giorno, un campo calcolato con il cumulato di tutte le vendite dei giorni che precedono la riga corrente.
Se utilizzo nella funzione del mio nuovo campo la seguente sintassi "=Field!Vendite+Previous(Field!Vendite) ottengo un valore calcolato come la vendita della riga corrente sommata alla vendita della riga precedente

f_fiore Profilo | Newbie

sfortunatamente la sum() mi restituisce il totale di tutte le vendite e quindi mi presenta lo stesso valore su tutte le righe.
Se toldo il valore delle vendite della riga il risultato è lo stesso di prima al netto delle vendite di riga.

Vorrei riuscire ad ottenere qualcosa come:
gg1 vendita_gg1 vendita_gg1
gg2 vendita_gg2 vendita_g1+vendita_gg2
gg3 vendita_gg3 vendita_g1+vendita_gg2+vendita_gg3
etc.

freeteo Profilo | Guru

ciao,
quello che devi fare tu, è 1 totale parziale, e quindi devi per forza appoggiarti ad 1a funzione tua, da scrivere nel codice libero del report.
In poche parole:

- Apri il report
- Menu Report (visual studio) ->Report Properties
- selezioni la tab "Code"
- e scrivi dentro questa funzione (l'ho chiamata io somma tu puoi customizzarla ovviamente)
Public Shared Function Somma(ByVal valore As Double) As Double Static val As Double val += valore Return val End Function

nel report metti giu 1a colonna nella tua tabella e nei dettagli accedi alla funzione passandogli il valore corrente:

=Code.Somma(fields!#miocampo#.Value)

grazie al fatto di usare la variabile di tipo "static" di vb, ti fa 1 risultato parziale via via che scorre i record.
Se non ho capito male dovrebbe essere quello che cerchi, prova in questa strada...
ciao.

Matteo Raumer
MCAD ... .net addicted :-)
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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5