Avanserte teknikker: Referere til lagrede verdier i variabler

Du ønsker kanskje å opprette en analyse der tittelen viser navnet på den gjeldende brukeren. Du kan gjøre dette ved å referere til en variabel.

Du kan referere til ulike variabeltyper i analysene, instrumentpanelene og handlingene: økt, semantisk modell (register), presentasjon, forespørsel og global. Innholdsforfattere kan definere presentasjonsvariabler, forespørselsvariabler og globale variabler selv, men andre typer som økt og semantisk modell (register) defineres for deg i den semantiske modellen.

Merknad: Oracle Analytics støtter ikke variablene :user og :password i påloggingsinformasjonen for datakildetilkoblingen.

Type variabel Definert i Definert av Flere opplysninger

Økt

  • System

  • Nonsystem

Semantisk modell

Forfattere av datamodeller

Om øktvariabler

Semantisk modell (register)

  • Dynamisk

  • Statisk

Semantisk modell

Forfattere av datamodeller

Om variabler for semantisk modell (register)

Presentasjon

Ledetekster for analyser og instrumentpaneler

Innholdsforfattere

Om presentasjonsvariabler

Forespørsel

Ledetekster for analyser og instrumentpaneler

Innholdsforfattere

Om forespørselsvariabler

Global

Analyser

Administratorer

Om globale variabler og Opprette globale variabler

Om øktvariabler

Øktvariabler initialiseres når en bruker logger på.

Variablene finnes for alle brukere så lenge leseøkten deres pågår, og utløper når brukeren lukker nettleseren eller logger av. Det finnes to typer øktvariabler: system og ikke-system.

Systemøktvariabler

Det finnes flere systemøktvariabler som du kan bruke i rapportene og instrumentpanelene.

Systemøktvariablene har reserverte navn, så du kan ikke bruke dem for andre typer variabler.

Systemøktvariabel Beskrivelse Eksempel på SQL-spørringsverdi (dialogboksen Variabel)

PORTALPATH

Angir standardinstrumentpanelet brukerne ser når de logger på (de kan overstyre denne preferansen etter at de har logget på).

Vise Mitt instrumentpanel når en bruker logger på:

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

TIMEZONE

Angir standard tidssone for brukere når de logger på.

Tidssonen til en bruker hentes vanligvis fra profilen til brukeren. Brukerne kan endre standard tidssone i preferansene (Min konto).

Angi tidssone når en bruker logger på:

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

DATA_TZ

Angir en forskyvning fra den opprinnelige tidssonen for dataene.

Variabelen gjør det mulig å konvertere en tidssone, slik at brukerne kan vise riktig tidssone.

Konvertere tidsdata til østkysten (normaltid) (EST):

select ‘GMT-05:00’ from dual;

Dette eksemplet betyr Greenwich middeltid (GMT) – 5 timer

DATA_DISPLAY_TZ

Angir tidssonen for visning av data.

Vise østkysten (normaltid) (EST):

select ‘GMT-05:00’ from dual;

Dette eksemplet betyr Greenwich middeltid (GMT) – 5 timer

Ikke-systemøktvariabler

Variablene som ikke er systemøktvariabler, navngis og opprettes i den semantiske modellen.

Datamodellereren kan for eksempel opprette variabelen SalesRegion, som initialiserer navnet på en brukers salgsområde når vedkommende logger på.

Om variabler for semantisk modell (register)

En variabel for semantisk modell (register) er en variabel som har én verdi på ethvert tidspunkt.

Variabler for semantisk modell (register) kan være statiske eller dynamiske. En variabel for semantisk modell (register) har en vedvarende verdi som ikke endres før administratoren endrer den. En variabel for semantisk modell (register) har en verdi som oppfriskes av data som returneres fra spørringer.

Om presentasjonsvariabler

Når du oppretter en ledetekst for kolonne eller ledetekst for variabel, oppretter du en presentasjonsvariabel.

Type Beskrivelse

Ledetekst for kolonne

En presentasjonsvariabel som er opprettet som en del av en ledetekst for kolonne, er knyttet til en kolonne. Verdiene den kan hente, kommer fra kolonneverdiene.

Hvis du vil opprette en presentasjonsvariabel som en del av en ledetekst for kolonne, må du velge Presentasjonsvariabel i feltet Angi en variabel i dialogboksen Ny ledetekst. Angi et navn på variabelen i feltet Variabelnavn.

Ledetekst for variabel

En presentasjonsvariabel som er opprettet som en del av en ledetekst for variabel, er ikke knyttet til noen kolonne. Du definerer hvilke verdier den kan hente.

Hvis du vil opprette en presentasjonsvariabel som en del av en ledetekst for variabel, må du velge Presentasjonsvariabel i feltet Forespørsel om i dialogboksen Ny ledetekst. Angi et navn på variabelen i feltet Variabelnavn.

Verdien for en presentasjonsvariabel fylles ut av ledeteksten for kolonne eller variabel som den ble opprettet med. Det vil si at hver gang en bruker velger én eller flere verdier i ledeteksten for kolonne eller variabel, settes verdien for presentasjonsvariabelen til verdien eller verdiene som brukeren velger.

Om forespørselsvariabler

Med en forespørselsvariabel kan du overstyre verdien til en øktvariabel, men bare så lenge en databaseforespørsel som er startet fra en ledetekst for kolonne, varer. Du kan opprette en forespørselsvariabel som en del av prosessen med å opprette en ledetekst for kolonne.

Du kan opprette en forespørselsvariabel som en del av prosessen med å opprette én av følgende typer ledetekster for instrumentpanel:

  • En forespørselsvariabel som opprettes som en del av en ledetekst for kolonne, knyttes til en kolonne. Verdiene den kan hente, kommer fra kolonneverdiene.

    Hvis du vil opprette en forespørselsvariabel som en del av en ledetekst for kolonne, må du velge Forespørselsvariabel i feltet Angi en variabel i dialogboksen Ny ledetekst. Skriv inn navnet på øktvariabelen som skal overstyres, i feltet Variabelnavn.

  • En forespørselsvariabel som opprettes som en del av en variabelledetekst, knyttes ikke til noen kolonne. Du definerer verdiene den kan hente.

    Hvis du vil opprette en forespørselsvariabel som en del av en ledetekst for variabel, må du velge Forespørselsvariabel i feltet Forespørsel om i dialogboksen Ny ledetekst (eller dialogboksen Rediger forespørsel). Skriv deretter inn navnet på øktvariabelen du vil overstyre, i feltet Variabelnavn.

Verdien for en forespørselsvariabel fylles ut av ledeteksten for kolonne som den ble opprettet med. Det vil si at hver gang en bruker velger en verdi i ledeteksten for kolonne, settes verdien for forespørselsvariabelen til verdien som brukeren velger. Verdien er imidlertid bare i kraft fra det øyeblikket brukeren trykker på knappen Start for ledeteksten, og til analyseresultatene returneres til instrumentpanelet.

Enkelte systemøktvariabler (for eksempel USERGUID eller ROLES) kan ikke overstyres av forespørselsvariabler. Andre systemøktvariabler, for eksempel DATA_TZ og DATA_DISPLAY_TZ (tidssone), kan overstyres hvis de er konfigurert i Model Administration Tool.

Bare forespørselsvariabler med strenger og tall støtter flere verdier. Alle andre datatyper sender bare den første verdien.

Om globale variabler

En global variabel er en kolonne som opprettes ved å kombinere en bestemt datatype med en verdi. Verdien kan være en dato, en dato og et klokkeslett, et tall, en tekst og et klokkeslett.

Den globale variabelen evalueres når analysen utføres, og verdien for den globale variabelen erstattes som den skal.

Bare brukere med BI Service-administratorrolle kan administrere (legge til, redigere og slette) globale variabler.

Du oppretter en global verdi under prosessen for å opprette en analyse ved hjelp av dialogboksen Rediger kolonneformel. Den globale variabelen lagres deretter i katalogen og gjøres tilgjengelig for alle andre analyser i et bestemt klientsystem.

Opprette globale variabler

Du kan lagre en beregning som en global variabel og deretter bruke den på nytt i andre analyser.

  1. Åpne analysen for redigering.
  2. Klikk på Valg ved siden av kolonnenavnet i ruten Valgte kolonner.
  3. Velg Rediger formel. Dette viser fanen Kolonneformel.
  4. Klikk på Variabel, og velg Global.
  5. Klikk på Legg til ny global variabel.
  6. Angi verdien for Navn. Eksempel: gv_region, date_and_time_global_variable eller rev_eastern_region_calc_gv.
    Navnet på en global variabel må være fullstendig kvalifisert når det refereres til variabelen, og den har derfor prefikset "global.variables". En global variabel som er angitt for beregning av inntekt, vises for eksempel på følgende måte i dialogboksen Kolonneformel:

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

  7. Angi verdier for Type og Verdi.
    • Hvis du velger Dato og klokkeslett som datatype, angir du verdiene som i dette eksemplet: 03/25/2004 12:00:00 AM
    • Hvis du angir et uttrykk eller en beregning som verdi, må du bruke datatypen Tekst, som i dette eksemplet: "Base Facts"."1- Revenue"*3.1415
  8. Klikk på OK. Den nye globale variabelen legges til i dialogboksen Sett inn global variabel.
  9. Velg den nye globale variabelen du nettopp opprettet, og klikk på OK. Dialogboksen Rediger kolonneformel vises med den globale variabelen satt inn i ruten Kolonneformel. Det merkes automatisk av for Egendefinerte overskrifter.
  10. Angi et nytt navn for kolonnen du har tilordnet en global variabel til, slik at variabelen gjenspeiles mer nøyaktig.
  11. Klikk på OK.

Syntaks for referering til variabler

Du kan referere til variabler i analyser og på instrumentpaneler.

Oppgaven du utfører, bestemmer hvordan du refererer til en variabel. For oppgaver der du får presentert felt i en dialogboks, må du bare angi variabelens type og navn (ikke den fullstendige syntaksen), ved for eksempel referering til en variabel i en filterdefinisjon.

For andre oppgaver, for eksempel referering til en variabel i en tittelvisning, angir du variabelsyntaksen. Hvilken syntaks du bruker, avhenger av variabeltypen, som beskrevet i tabellen nedenfor.

Type Syntaks Eksempel

Økt

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

der variabelnavn er navnet på øktvariabelen, for eksempel DISPLAYNAME.

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

Semantisk modell (register)

@{biServer.variables.variabelnavn}

eller

@{biServer.variables['variabelnavn']}

der variablename er navnet på variabelen, for eksempel prime_begin

@{biServer.variables.prime_begin}

eller

@{biServer.variables['prime_begin']}

Presentasjon eller forespørsel

@{variables.variabelnavn}[format]{standardverdi}

eller

@{omfang.variables['variabelnavn']}

der:

variabelnavn er navnet på presentasjons- eller forespørselsvariabelen, for eksempel MyFavoriteRegion.

(valgfritt) format er en formatmaske som avhenger av datatypen for variabelen, for eksempel #,##0, MM/DD/ÅÅ tt:mm:ss. (Vær oppmerksom på at formatet ikke brukes på standardverdien.)

(valgfritt) standardverdi er en konstant eller variabel referanse som angir en verdi som skal brukes hvis variabelen som variabelnavn refererer til, ikke fylles ut.

omfang identifiserer kvalifikatorene for variabelen. Du må angi omfanget når en variabel brukes på flere nivåer (analyser, instrumentpanelsider og instrumentpaneler) og du vil ha tilgang til en bestemt verdi. (Hvis du ikke angir omfanget, er prioritetsrekkefølgen analyser, instrumentpanelsider og instrumentpaneler.)

Når du bruker en instrumentpanelledetekst med en presentasjonsvariabel som kan ha flere verdier, varierer syntaksen avhengig av kolonnetypen. Flere verdier formateres i kommadelte verdier, og alle formatledd brukes derfor på hver enkelt verdi før de legges sammen 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}

der variabelnavn er navnet på den globale variabelen, for eksempel gv_region. Når du refererer til en global variabel, må du bruke det fullstendige navnet, som angitt i eksemplet.

Navngivningsregelen for globale variabler må overholde spesifikasjonene for ECMA-skriptspråk for JavaScript. Navnet kan maksimalt inneholder 200 tegn, og det kan ikke inneholde innebygde mellomrom, reserverte ord eller spesialtegn. Hvis du ikke kjenner til språkkravene for JavaScripting, må du sjekke en tredjepartsreferanse

@{global.variables.gv_date_n_time}

Du kan også referere til variabler i uttrykk. Retningslinjene for referering til variabler i uttrykk er beskrevet i følgende emner:

Øktvariabler

Du kan bruke retningslinjene nedenfor ved referering til øktvariabler i uttrykk.

  • Ta med øktvariabelen som et argument i funksjonen VALUEOF.
  • Plasser variabelnavnet i doble anførselstegn.
  • Plasser NQ_SESSION og et punktum før øktvariabelen.
  • Plasser NQ_SESSION i doble anførselstegn.
  • Plasser både NQ_SESSION-delen og navnet på øktvariabelen i parenteser.

For eksempel:

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

Presentasjonsvariabler

Du kan bruke retningslinjene nedenfor ved referering til presentasjonsvariabler i uttrykk.

Bruk denne syntaksen når du refererer til en presentasjonsvariabel:

@{variabelnavn}{standardverdi}

der variabelnavn er navnet på presentasjonsvariabelen og standardverdi (valgfritt) er en konstant eller variabel referanse som angir en verdi som skal brukes hvis variabelen som variabelnavn refererer til, ikke fylles ut.

Hvis du vil typetilordne (det vil si konvertere) variabelen til en streng eller inkludere flere variabler, setter du hele variabelen i enkle anførselstegn. Eksempel:

'@{user.displayName}'

Hvis @-symbolet ikke er etterfulgt av {, behandles det som et @-symbol. Når du bruker en presentasjonsvariabel som kan ha flere verdier, varierer syntaksen avhengig av kolonnetypen.

Generer gyldige SQL-setninger ved å bruke følgende syntaks i SQL for den angitte kolonnetypen:

  • Tekst – (@{variabelnavn}['@']{'standardverdi'})

  • Numerisk – (@{variabelnavn}{standardverdi})

  • Dato-klokkeslett – (@{variabelnavn}{timestamp 'standardverdi'})

  • Dato (bare datoen) – (@{variabelnavn}{date 'standardverdi'})

  • Klokkeslett (bare klokkeslettet) – (@{variabelnavn}{time 'standardverdi'})

For eksempel:

'@{user.displayName}'

Variabler for semantisk modell (register)

Du kan bruke retningslinjene nedenfor ved referering til variabler for semantisk modell (register) i uttrykk.

  • Ta med variabelen som et argument i funksjonen VALUEOF.
  • Plasser variabelnavnet i doble anførselstegn.
  • Referer til en statisk variabel for semantisk modell (register) med navn.
  • Referer til en dynamisk variabel for semantisk modell (register) med det fullstendige navnet.

For eksempel:

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