Raggruppamento errato delle date

lunedì 14 aprile 2008 - 12.07

Anubis Profilo | Junior Member

Ciao,

io ho un report rdlc, dove viene disegnato un grafico che rappresenta delle date.
Sull'asse x metto i valori delle date, mentre sull'asse y metto il conteggio di quante date uguali ci sono.

Raggruppando queste date per mesi funziona tutto correttamente...
Raggruppando queste date per giorni mi conta le date sbagliate...vi spiego cosa succede:

se le date da rappresentare hanno come mese un mese differente, ma come giorno (in numero) lo stesso giorno, mi conta come data del primo mese le date aventi quel giorno del secondo mese...

per esempio io cerco dal 02/07/2007 al 12/08/2007 raggruppando per giorni, e come valori in questo range di date ho i seguenti:

_ 29 date per il 02-Jul-07
_ 2 date per il 03-Jul-07
_ 4 date x il 02-Aug-07
_ 1 data per il 12-Aug-07

ora il grafico dovrebbe riportarmi i seguenti valori, invece mi disegna questo:


984x682 70Kb


mi mette 33 date per il 02-Jul-07, e non mi mette nessuna data per il 02-Aug-07...cioè mi conta come 02-Jul-07 le date del 02-Aug-07...

come mai mi rappresenta le date in questo modo??

se il problema è nell'Expression, quella che uso è questa:

=IIF(Parameters!mesi.Value , Month(Fields!TIME_APPL.Value) , IIF(Parameters!day.Value , Day(Fields!TIME_APPL.Value) , Fields!TIME_APPL.Value) )

Ciciu Profilo | Senior Member

Ciao.
Secondo me il problema è proprio nell'expression....
Infatti, credo che il risultato che ottieni sia corretto : non stai raggruppando per Giorno/Mese, ma solo per giorno... QUindi, qual'e' la differenza tra il 2 Luglio ed il 2 Agosto ? Nessuna, a parte il mese !!!!!!
AvresTi lo stesso problema sul mese, se estendessi il Tuo range di ricerca ad un paio di anni almeno....

>
>=IIF(Parameters!mesi.Value , Month(Fields!TIME_APPL.Value) ,
>IIF(Parameters!day.Value , Day(Fields!TIME_APPL.Value) , Fields!TIME_APPL.Value)
>)

Io, farei una cosa :

- Quando vuoi i risultati raggruppati per mese, li devi raggruppare per Mese/Anno
- Quando vuoi i risultati raggruppati per giorno, li devi raggruppare per Giorno/Mese/Anno

Altrimenti troverai sempre dei duplicati.
Spero di essere stato chiaro.
Ciao - FabioG
Fabio G

Anubis Profilo | Junior Member

ciao fabio,

ho capito cosa intendi tu: raggruppo prima per mese e poi per giorno...per farlo ho provato a mettere nell'expression questa sintassi:

=IIF(Parameters!mesi.Value , Month(Fields!TIME_APPL.Value) , IIF(Parameters!day.Value ,Day(Month(Fields!TIME_APPL.Value)) , Fields!TIME_APPL.Value))

...ma il raggruppamento Day(Month(Fields!TIME_APPL.Value)) non è corretto, infatti mi dice che non è possibile convertire un Intero in Date...

come posso fare quindi per raggruppare sia per mese che per giorno??

Ciciu Profilo | Senior Member

Io proverei una cosa del genere.... (ovviamente è assolutamente ottimizzabile !).

=IIF(Parameters!mesi.Value , Month(Fields!TIME_APPL.Value) & "/" & Year(Fields!TIME_APPL.Value) ,
IIF(Parameters!day.Value , Day(Fields!TIME_APPL.Value) & "/" & Month(Fields!TIME_APPL.Value) & "/" & Year(Fields!TIME_APPL.Value), Fields!TIME_APPL.Value))

Ciao - FabioG

Fabio G

Anubis Profilo | Junior Member

Ho raggruppato per giorno / mese / anno ...e funziona !!!

Grazie mille Fabio
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