Avancerede teknikker: Referere til gemte værdier i variabler

Du kan oprette en analyse, der viser navnet på den aktuelle bruger i titlen. Du kan gøre dette ved at referere til en variabel.

Du kan referere til flere forskellige typer af variabler i analyser, instrumentbrætter og handlinger: session, semantisk model (informationsbase), præsentation, anmodning og global. Indholdsforfattere kan definere præsentations-, anmodnings- og globale variabler, mens andre typer (session og semantisk model (informationsbase)) er defineret i den semantiske model.

Bemærk: Oracle Analytics understøtter ikke variablerne :user og :password i forbindelseslegitimationsoplysninger for datakilder.

Variabeltype Defineret i Defineret af Flere oplysninger

Session

  • System

  • Ikke-system

Semantisk model

Datamodelforfattere

Om sessionsvariabler

Semantisk model (informationsbase)

  • Dynamisk

  • Statisk

Semantisk model

Datamodelforfattere

Om semantisk model (informationsbase)-variabler

Præsentation

Prompter for analyser og instrumentbrætter

Indholdsforfattere

Om præsentationsvariabler

Anmodning

Prompter for analyser og instrumentbrætter

Indholdsforfattere

Om anmodningsvariabler

Global

Analyser

Administratorer

Om globale variabler og Oprette globale variabler

Om sessionsvariabler

Sessionsvariabler initialiseres, når en bruger logger på.

Disse variabler findes for hver bruger i hele deres browsersession og udløber, når brugeren lukker browseren eller logger af. Der er to typer af sessionsvariabler: system og ikke-system.

Systemsessionsvariabler

Der findes flere systemsessionsvariabler, som du kan bruge i dine rapporter og instrumentbrætter.

Systemsessionsvariablerne har reserverede navne, så du kan ikke bruge dem til andre former for variabler.

Systemsessionsvariabel Beskrivelse Eksempelværdi i SQL-forespørgsel (dialogboksen Variabel)

PORTALPATH

Identificerer det standardinstrumentbræt, som brugerne kan se, når de logger på (de kan tilsidesætte denne præference efter login).

Sådan får du vist ‘mydashboard’, når en bruger logger på:

 select ‘/shared/_portal/mydashboard’ from dual;

TIMEZONE

Angiv standardtidszonen for brugeren, når denne logger på.

En brugers tidszone udfyldes typisk fra brugerens profil. Brugerne kan ændre deres standardtidszone i præferencerne (Min konto).

Sådan angiver du tidszonen for en bruger ved login:

select ‘(GMT-08:00) Pacific Time (US & Canada)’ from dual;

DATA_TZ

Angiver en forskydning i forhold til den oprindelige tidszone for data.

Med denne variabel kan du konvertere en tidszone, så brugerne ser den rette zone.

Sådan konverterer du tidsdata til Eastern Standard Time (EST):

select ‘GMT-05:00’ from dual;

Dette eksempel betyder Greenwich Mean Time (GMT) - 5 timer

DATA_DISPLAY_TZ

Angiver tidszonen for visning af data.

Sådan får du vist Eastern Standard Time (EST):

select ‘GMT-05:00’ from dual;

Dette eksempel betyder Greenwich Mean Time (GMT) - 5 timer

Ikke-systemsessionsvariabler

Ikke-systemsessionsvariablerne navngives og oprettes i din semantiske model.

Din data modeler kan for eksempel oprette en SalgsRegion-variabel, der initialiserer navnet på brugerens salgsregion, når denne logger på.

Om semantisk model (informationsbase)-variabler

En semantisk model (informationsbase)-variabel er en variabel, der har en enkelt værdi på et givet tidspunkt.

Semantisk model (informationsbase)-variabler kan være statiske eller dynamiske. En statisk semantisk model (informationsbase)-variabel har en værdi, som er fast og ikke ændres, før administratoren ændrer den. En dynamisk semantisk model (informationsbase)-variabel har en værdi, der opfriskes af data, som returneres af forespørgsler.

Om præsentationsvariabler

Du opretter en præsentationsvariabel, når du opretter en kolonneprompt eller en variabelprompt.

Type Beskrivelse

Kolonneprompt

En præsentationsvariabel, der oprettes som en del af en kolonneprompt, er knyttet til en kolonne, og de værdier, som den kan have, kommer fra kolonneværdierne.

Du opretter en præsentationsvariabel som en del af en kolonneprompt ved at vælge Præsentationsvariabel i feltet Sæt en variabel i dialogboksen Ny prompt. Skriv et navn til variablen i feltet Variabelnavn.

Variabelprompt

En præsentationsvariabel, der oprettes som en del af en variabelprompt, er ikke knyttet til en kolonne, og du definerer de værdier, som den kan have.

Du opretter en præsentationsvariabel som en del af en variabelprompt ved at vælge Præsentationsvariabel i feltet Prompt for i dialogboksen Ny prompt. Skriv et navn til variablen i feltet Variabelnavn.

En præsentationsvariabels værdi udfyldes af den kolonne- eller variabelprompt, som variablen blev oprettet under. Det vil sige, at hver gang en bruger vælger en eller flere værdier i kolonne- eller variabelprompten, sættes præsentationsvariablens værdi til den eller de værdier, som brugeren vælger.

Om anmodningsvariabler

Med en anmodningsvariabel kan du tilsidesætte værdien af en sessionsvariabel, men kun under udførelsen af en databaseanmodning, der er startet fra en kolonneprompt. Du kan oprette en anmodningsvariabel som led i processen med at oprette en kolonneprompt.

Du kan oprette en anmodningsvariabel som led i processen med at oprette en af følgende typer instrumentbrætprompter:

  • En anmodningsvariabel, der oprettes som en del af en kolonneprompt, er knyttet til en kolonne, og de værdier, som den kan have, kommer fra kolonneværdierne.

    Du opretter en anmodningsvariabel som en del af en kolonneprompt ved at vælge Anmodningsvariabel i feltet Sæt en variabel i dialogboksen Ny prompt. Skriv navnet på den sessionsvariabel, der skal tilsidesættes, i feltet Variabelnavn.

  • En anmodningsvariabel, der oprettes som en del af en variabelprompt, er ikke knyttet til en kolonne, og du definerer de værdier, som den kan have.

    Du opretter en anmodningsvariabel som en del af en variabelprompt ved at vælge Anmodningsvariabel i feltet Prompt for i dialogboksen Ny prompt (eller dialogboksen Rediger prompt). Skriv derefter navnet på den sessionsvariabel, der skal tilsidesættes, i feltet Variabelnavn.

En anmodningsvariabels værdi udfyldes af den kolonneprompt, som variablen blev oprettet under. Det vil sige, at hver gang en bruger vælger en værdi i kolonneprompten, sættes anmodningsvariablens værdi til den værdi, som brugeren vælger. Værdien vil kun være gældende fra det tidspunkt, hvor brugeren trykker på knappen Start for prompten, til analyseresultatet returneres til instrumentbrættet.

Visse systemsessionsvariabler (for eksempel USERGUID eller ROLES) kan ikke tilsidesættes af anmodningsvariabler. Andre systemsessionsvariabler som DATA_TZ og DATA_DISPLAY_TZ (tidszone) kan tilsidesættes, hvis det er konfigureret i Model Administration Tool.

Kun anmodningsvariabler med typen streng eller numerisk kan have flere værdier. Alle andre datatyper overfører kun den første værdi.

Om globale variabler

En global variabel er en kolonne, som er oprettet ved at kombinere en specifik datatype med en værdi. Værdien kan være en dato, dato og klokkeslæt, et tal, tekst og et klokkeslæt.

Den globale variabel evalueres på tidspunktet for udførelsen af analysen, og værdien af den globale variabel erstattes på relevant vis.

Kun brugere med rollen BI-tjenesteadministrator kan administrere (tilføje, redigere og slette) globale variabler.

Du opretter en global værdi under oprettelsen af en analyse i dialogboksen Rediger kolonneformel. Derefter gemmes den globale variabel i kataloget og er tilgængelig for alle andre analyser i et specifikt tenant-system.

Oprette globale variabler

Du kan gemme en beregning som en global variabel og derefter genbruge den i forskellige analyser.

  1. Åbn analysen til redigering.
  2. Klik på Valg ud for kolonnenavnet i ruden Valgte kolonner.
  3. Vælg Rediger formel for at få vist fanen Kolonneformel.
  4. Klik på Variabel, og vælg Global.
  5. Klik på Tilføj ny global variabel.
  6. Indtast en værdi i Navn. For eksempel gv_region, date_and_time_global_variable eller rev_eastern_region_calc_gv.
    Hele navnet på en global variabel skal angives, når der henvises til den, og ordene "global.variables" indsættes derfor før variabelnavnet. En global variabel, der er angivet til at beregne indtægt, vises i dialogboksen Kolonneformel på denne måde:

    "Base Facts"."1- Revenue"*@{global.variables.gv_qualified}

  7. Indtast værdier i Type og Værdi.
    • Hvis du vælger "Dato og klokkeslæt" som datatypen, skal du skrive værdien som i dette eksempel: 25.03.2004 12:00:00
    • Hvis du skriver et udtryk eller en beregning som værdi, skal du bruge datatypen Tekst som i følgende eksempel: "Base Facts"."1- Revenue"*3.1415
  8. Klik på OK. Den nye globale variabel føjes til dialogboksen Indsæt global variabel.
  9. Vælg den nye globale variabel, som du lige har oprettet, og klik på OK. Dialogboksen Rediger kolonneformel vises med den globale variabel indsat i ruden Kolonneformel. Afkrydsningsfeltet Tilpassede overskrifter markeres automatisk.
  10. Skriv et nyt navn til den kolonne, som du har tildelt en global variabel, så navnet afspejler variablen mere præcist.
  11. Klik på OK.

Syntaks for referencer til variabler

Du kan referere til variabler i analyser og instrumentbrætter.

Den måde, som du refererer til en variabel på, afhænger af den opgave, som du udfører. Ved opgaver, hvor du får vist felter i en dialogboks, skal du kun angive variablens type og navn (ikke hele syntaksen), for eksempel når du refererer til en variabel i en filterdefinition.

Ved andre opgaver, som når du refererer til en variabel i en titelvisning, bruger du syntaksen til variabler. Den syntaks, som du skal bruge, afhænger af variablens type som beskrevet i følgende tabel.

Type Syntaks Eksempel

Session

@{biServer.variables['NQ_SESSION.variabelnavn']}

hvor variabelnavn er navnet på sessionsvariablen, for eksempel DISPLAYNAME.

@{biServer.variables['NQ_SESSION.SalesRegion']}

Semantisk model (informationsbase)

@{biServer.variables.variabelnavn}

eller

@{biServer.variables['variabelnavn']}

hvor variabelnavn er navnet på variablen, for eksempel prime_begin.

@{biServer.variables.prime_begin}

eller

@{biServer.variables['prime_begin']}

Præsentation eller anmodning

@{variables.variabelnavn}[format]{standardværdi}

eller

@{omfang.variables['variabelnavn']}

hvor:

variabelnavn er navnet på præsentations- eller anmodningsvariablen, for eksempel MyFavoriteRegion.

(valgfrit) format er en formatmaske, som afhænger af variablens datatype, for eksempel #,##0, MM/DD/YY hh:mm:ss. (Bemærk, at formatet ikke anvendes til standardværdien).

(valgfrit) standardværdi er en konstant- eller variabelreference, som angiver en værdi, der skal bruges, hvis den variabel, som variabelnavn refererer til, ikke udfyldes.

scope identificerer kvalifikatorerne til variablen. Du skal angive scope (omfang), når en variabel bruges på flere niveauer (analyser, instrumentbrætsider og instrumentbrætter), og du vil bruge en bestemt værdi. (Hvis du ikke angiver omfanget, er rangfølgen analyser, instrumentbrætsider og instrumentbrætter).

Hvis du bruger en instrumentbrætprompt med en præsentationsvariabel, som kan have flere værdier, afhænger syntaksen af kolonnetypen. Flere værdier formateres som kommaseparerede værdier, og en eventuel formatklausul anvendes derfor til de enkelte værdier, før de sammenkædes med kommaer

@{variables.MyFavoriteRegion}{EASTERN REGION}

eller

@{dashboard.MyFavoriteRegion}{EASTERN REGION}

eller

@{dashboard.variables['MyFavoriteRegion']}

eller

(@{myNumVar}[#,##0]{1000})

eller

(@{variables.MyOwnTimestamp}[YY-MM-DD hh:mm:ss]{)

eller

(@{myTextVar}{A, B, C})

Global

@{global.variables.variabelnavn}

hvor variabelnavn er navnet på den globale variabel, for eksempel gv_region. Når du refererer til en global variabel, skal du bruge det fuldstændige navn som vist i eksemplet.

Navngivningskonventionen for globale variabler skal overholde specifikationerne for EMCA-scriptsproget til JavaScript. Navnet må højst bestå af 200 tegn og må ikke indeholde indlejrede mellemrum, reserverede ord eller specialtegn. Brug en håndbog fra en tredjepart, hvis du ikke kender kravene til JavaScript-sproget

@{global.variables.gv_date_n_time}

Du kan også referere til variabler i udtryk. Retningslinjerne for referencer til variabler i udtryk er beskrevet i følgende emner:

Sessionsvariabler

Du kan bruge følgende retningslinjer for referencer til sessionsvariabler i udtryk.

  • Indsæt sessionsvariablen som argument til funktionen VALUEOF.
  • Sæt variabelnavnet i dobbelte anførselstegn.
  • Sæt NQ_SESSION og et punktum foran sessionsvariablen.
  • Sæt NQ_SESSION i dobbelte anførselstegn.
  • Sæt parenteser om både NQ_SESSION-delen og navnet på sessionsvariablen.

Eksempel:

"Market"."Region"=VALUEOF("NQ_SESSION"."SalesRegion")

Præsentationsvariabler

Du kan bruge følgende retningslinjer for referencer til præsentationsvariabler i udtryk.

Brug denne syntaks, når du refererer til en præsentationsvariabel:

@{variabelnavn}{standardværdi}

hvor variabelnavn er navnet på præsentationsvariablen, og standardværdi (valgfri) er en konstant- eller variabelreference, som angiver en værdi, der skal bruges, hvis den variabel, som variabelnavn refererer til, ikke er udfyldt.

Sæt hele variablen i enkelte anførselstegn for at konvertere variablen til en streng eller inkludere flere variabler ved hjælp af cast-funktionen, for eksempel:

'@{user.displayName}'

Hvis tegnet @ ikke efterfølges af {, behandles det som tegnet @. Hvis du bruger en præsentationsvariabel, som kan have flere værdier, afhænger syntaksen af kolonnetypen.

Brug følgende syntaks i SQL til den angivne kolonnetype for at generere gyldige SQL-sætninger:

  • Tekst - (@{variabelnavn}['@']{'standardværdi'})

  • Numerisk - (@{variabelnavn}{standardværdi})

  • Dato-klokkeslæt - (@{variabelnavn}{timestamp 'standardværdi'})

  • Dato (kun datodelen) - (@{variabelnavn}{date 'standardværdi'})

  • Klokkeslæt (kun klokkeslætsdelen) - (@{variabelnavn}{time 'standardværdi'})

Eksempel:

'@{user.displayName}'

Semantisk model (informationsbase)-variabler

Du kan bruge følgende retningslinjer for referencer til semantisk model (informationsbase)-variabler i udtryk.

  • Inkluder variablen som argument til funktionen VALUEOF.
  • Sæt variabelnavnet i dobbelte anførselstegn.
  • Referer til en variabel for en statisk semantisk model (informationsbase) med dens navn.
  • Referer til en variabel for en dynamisk semantisk model (informationsbase) med dens fuldstændige navn.

Eksempel:

CASE WHEN "Hour" >= VALUEOF("prime_begin") AND "Hour" < VALUEOF("prime_end") THEN 'Prime Time' WHEN ... ELSE...END