Brug af kombinationsfelter som filtre

I kontrolpaneler er det almindeligt at bruge kombinationsfelter i én rapport til at styre de værdier, der vises i en eller flere andre rapporter. De valgte værdier i kombinationsfelterne overføres til variabler, der bruges som rapportparametre. Rapporten anbringes i en widget på et kontrolpanel. Andre rapporter, som har de samme parametre, eller som refererer til de samme opslag, tilknyttes automatisk. For eksempel vil valg af en dato i et kombinationsfelt opdatere alle widgets, der indeholder en datoparameter.

Hvis du bruger kombinationsfelter på denne måde, er det vigtigt at sikre, at kombinationsfelterne og værdierne synkroniseres. Brugerne skal f.eks. ikke kunne vælge en dato fra et kombinationsfelt, men få vist værdier for en anden dato i de tilknyttede rapporter.

Brug de variabler, der overføres fra kombinationsfelterne som både input- og outputvariabler for at sikre, at kombinationsfelter og værdier synkroniseres.

Brug af kombinationsfelter som filtre er ikke hensigtsmæssigt, hvis du opretter dynamiske rapporter – rapporter, som ikke afhænger af en bestemt datakilde. Overvej i stedet at bruge XML-variabler.

Eksempel

I dette eksempel illustreres det, hvordan kombinationsfelter og værdier kan blive usynkroniseret:

En rapport viser et kombinationsfelt, der indeholder en liste med datoer. Datoen er som standard All Years.

Kombinationsfeltet genererer til en variabel, men har ikke nogen inputvariabel. Variablen bruges som rapportparameter.

Du anbringer rapporten på et kontrolpanel sammen med andre rapporter, som er tilknyttet.

Du vælger 2004 i kombinationsfeltet. Dette overfører 2004 til variablen.

Tilknyttede widgets i kontrolpanelet opdateres automatisk, så de viser værdier for 2004.

Du gemmer kontrolpanelet.

Som standard gemmes parametres værdier i kontrolpanelet. Det betyder, at parameterens aktuelle værdi (2004) gemmes.

Du logger af og genindlæser derefter kontrolpanelet.

Du forventer at se 2004 valgt – men kombinationsfeltet er skiftet tilbage til All Years.

Det skyldes, at selvom værdien af variablen/parameteren blev gemt, kunne kontrolpanelet ikke overføre den til kombinationsfeltet, fordi der ikke er nogen inputvariabel.

Værdierne i de andre widgets gemmes dog også sammen med kontrolpanelet og vises, når kontrolpanelet indlæses. Det betyder, at når du åbner kontrolpanelet igen, vender kombinationsfeltet tilbage til All Years, men de andre widgets viser stadig værdier for 2004.

Der er to løsninger på problemet. Den ene kan implementeres i Application Studio og den anden i kontrolpanelet. I Application Studio er løsningen at bruge den samme variabel som både output- og inputvariabel.

I et kontrolpanel er den eneste mulighed at slå lagring af parametre fra og gøre kombinationsfeltet til den 'primære widget'. Når kontrolpanelet genindlæses, styrer kombinationsfeltet de andre widgets. Dette forhindrer ikke, at kombinationsfeltet vender tilbage til All Years, men det sikrer, at værdien i de tilknyttede rapporter også rettes ind efter All Years.