Brug af formler og én XML-variabel til at styre flere objekter

I dette eksempel vises det, hvordan du kan bruge indstillingen Formel under fanen Tilgængelighed for objekter. Her bruges tekstfeltobjekter, men du kan i stedet bruge billedobjekter.

I dette eksempel vises et andet tekstfelt, afhængigt af om Afrika eller Europe er valgt fra et kombinationsfelt. En handling på kombinationsfeltet bruger en SETPROPERTY-formel til at udfylde en XML-variabel. I variablen er nøglen Visibility, det valgte land er en egenskab, og TRUE er den værdi, der er tildelt til egenskaben.

Hvis du vil forhindre, at tekstfelter bliver ved med at være synlige, når der er valgt et andet land end Europa eller Afrika, indstiller formlen Visibility til FALSE for alle lande.

En GETPROPERTY-formel under fanen Tilgængelighed for hvert tekstfelt returnerer nøglen og egenskaben fra variablen. I ét felt uddrager formlen synligheden for Europa og i det andet synligheden for Afrika.

En alternativ teknik ville være at skjule eller vise de rækker, som indeholder tekstfelterne.

I dette eksempel bruges dimensionerne fra kuben Analyse i Samples-programmet.

  1. Opret en rapportvariabel, og navngiv den rv_VisibilityXML.
  2. Indsæt et kombinationsfelt, og knyt det til dimensionen Region. Navngiv kombinationsfeltet Region.
  3. Åbn egenskaberne i kombinationsfeltet, og vælg Udfør handlingen, hvis valget ændres i Generelt.
  4. Opret en Indstil parametre-handling med rv_VisibilityXML som parameter. Angiv denne formel som værdi for parameteren: =SETPROPERTY(SETPROPERTY(ReportVariables.rv_VisibilityXML.Text, "visibility","*" ,"false"), "visibility",ReportObjects.Region.Alias,"TRUE")
  5. Tilføj to tekstfelter til rapporten, og tilføj tekst. For eksempel nøgleoplysninger om Afrika og nøgleoplysninger om Europa.
  6. Højreklik på tekstfeltet Afrika, og vælg Formatér tekstobjekt. Angiv denne formel under fanen Tilgængelighed: =GetProperty(ReportVariables.rv_VisibilityXML.Text,"visibility","Africa")
  7. Angiv den samme formel for tekstfeltet Europa, hvor "Afrika" erstattes med "Europa".