sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan viser man sidenummer i rapportteksten i SSRS 2008 R2?

Først skal du bruge rapportvariabler: højreklik på det tomme område i rapporten -> Variabler -> Opret en variabel såsom PageCount (sæt standardværdien til 0)

Så i din sidehoved eller sidefod -> opret en tekstboks og sæt udtryk ->

=Variables!PageCount.SetValue(Variables!PageCount.Value+1)

Den vil automatisk stige for hver side.(VIGTIG:Skjul den IKKE fra sidehoved eller sidefod, SetValue VIL IKKE fungere, hvis du skjuler boksen, så skift skrifttypen til 1 eller teksten til hvid, gør hvad som helst, bare Skjul det IKKE (den vil udskrive 'True', efterhånden som indstillingen fandt sted))

Så kan du bruge:

=Variables!PageCount.Value

hvor som helst i din rapporttekst for at få adgang til sidenummeret.

VIGTIGT:BEMÆRK venligst, at jeg forsøgte at bruge Globals!PageNumber til at indstille variablen, men ender med, at den IKKE var tilgængelig fra rapportteksten. Så det skal være noget, der både er tilgængeligt fra sidehoved/sidefod ELLER Brødtekst.

I mit tilfælde er jeg nødt til at nulstille sidetallet for hver forekomst af min gruppe. Så jeg indstiller bare en trigger i slutningen af ​​gruppen. (Jeg tjekker f.eks. om jeg har min samlede værdi returnerer, fordi jeg ved for hver ende af gruppen min gruppe vil jeg have en total visning.

På grund af funktionen IIF både Sand og Falsk del vil blive behandlet, så hvis du sætter sættere i IIF såsom nedenfor:

=IIF(IsNothing(ReportItems!TotalBox.Value),Variables!PageCount.SetValue(Variables!PageCount.Value+1),Variables!PageCount.SetValue(0))

 ) 

du vil ende med at have værdien 0 hele tiden, fordi rapporten vil kontrollere den sande del og derefter den falske del, begge indstillere vil blive udført (værdien vil blive sat to gange)

så vi har brug for 2 kasser og noget som:(Du skal skjule unødvendige bokse dine kontrolbetingelser)

=IIF(IsNothing(ReportItems!TotalBox.Value),Variables!PageCount.SetValue(Variables!PageCount.Value+1),"")
)

Du skal skjule denne boks, når NOT IsNothing(ReportItems!TotalBox.Value)

=IIF(NOT IsNothing(ReportItems!TotalBox.Value),Variables!PageCount.SetValue(0),"")
)

Igen skal du skjule denne boks, når IsNothing(ReportItems!TotalBox.Value)

Selvfølgelig kan du bruge en anden måde til at bestemme slutningen af ​​en gruppeforekomst, som:lav en tekstboks, som KUN indeholder en fast værdi i slutningen af ​​din gruppetabel. og skjule det. Når du tjekker triggeren, skal du bare gøre den samme fremgangsmåde som jeg gør.

Det fungerer fint for alle versioner over 2008 R2 (inkluderet).



  1. Laravel Model Query Error :Illuminate\Database\QueryException:SQLSTATE[23000]:Integritetsbegrænsning overtrædelse

  2. PostgreSQL:Hvordan SUMMER man attributter, inklusive et JSONB-felt, og bevarer tabelformen?

  3. ORA-00942-fejl genereres under oprettelse af en visning

  4. AVG + indre joinforbindelse