Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Align
alignjustified

Tā kā jūs tagad protat pārvietoties uz citu dimensiju hierarhijas līmeņiem, tad jūs arī varat pārvietoties uz citas dimensiju rādītājiem tekošajā dimensijā. Parasti to izmanto Laika dimensijā , kad jūs vēlaties salīdzināt rādītājus dažādos laika periodos vai apvienotu laika periodu kopumos.
Piemēram, ja aprēkinātais rādītājs  Rādītāji.Mēneša pieaugums (Measures.Sales monthly growth) ar formulu ( Measures.Store Sales - (Measures.Store Sales, Time.CurrentMember.PrevMember) aprēķinās Rādītāji.Pārdošana ( Measures.Store Sales) pieaugumu salīdzinājumā ar iepriekšejo Laika dimensijas rādītāju periodu. Ja šis aprēķinātais rādītājs tiks kombinēts atskaitē ar Mēnesi ( Month) Laika (Time ) dimensijā tad tiks izvadīts pieaugums salīdzinājumā ar iepriekšējo mēnesi, ja tiks izmantots gads ( Year) , tad pieaugumu salīdzinājumā ar iepriekšējo gadu.
Ir vairākas funkcijas, kuras palīdzēs jums " pārvietoties laikā " .

  • Time.CurrentMember.PrevMember atgriež iepriekšējā rādītāja vērtību tajā pašā Hierarhijas līmenī  ( tiks atgriezts tukšs rādītājs pirmajam rādītājam)
  • Time.CurrentMember.NextMember atgriezīs nākamo rādītāju.
  • Time.CurrentMember.Lag(2) atgriezīs iepriekšejo rādītāju ar "attālumu"  2 ( var izmantot jebkuru skaitli,  Lag(1) būs tas pats kā PrevMember)
  • Time.CurrentMember.Lead(2) atgriezīs nākamā rādītāju ar " attālumu " 2, ( Lead(1) is tas pats, kas NextMember)
  • ParallelPeriod(Time.Year, 1, Time.CurrentMember) atgriezīs "paralēlā"  Laika ( Time ) rādītāju vienu gadu atpakaļ ( one year ago)  (piem. dienas līmeņa rādītājam Jan 01 2012   tas būs  Jan 01 2011, bet mēnešu līmenī rādītājam Jan 2012  tas būs Jan 2011)
  • OpeningPeriod(Time.Day, Time.CurrentMember) rezultātā atgriezīs pirmo eksistējošo rādītāju tekošajam Laika ( Time ) rādītājam  līmenī  Dienas ( Day ) ( pirmo gada dienu , ceturksni vai   mēnesi), kas ir definēts Laika ( Time ) dimensijā.
  • ClosingPeriod(Time.Day, Time.CurrentMember) rezultātā atgriezīs pēdējo eksistējošo rādītāju tekošajam Laika ( Time ) rādītājam  līmenī  Dienas ( Day ) ( pēdējo gada dienu , ceturksni vai mēnesi), kas ir definēts Laika ( Time ) dimensijā.
    Dažrez jums var būt nepieciešams pārbaudīt, kā strādā Jūsu definētā " Pārvietošanās laikā " pirms Jūs to izmantojat tālākajās kalkulācijās. Tad jūs varat izmantot  .Name rādītāja iezīmi ( member property ), lai iegūtu rādītāja nosaukumu kā kalkulāciju formulas rezultātu.  Piemēram definējiet Aprēkināmo lielumu  Measures.test opening day with formulaOpeningPeriod(Time.Day, Time.CurrentMember).Name  un izmantojiet to atskaitē kopā ar Laika ( Time) dimensijas rādītājiem, tad jūs varēsies uzskatāmi salīdzināt, vai jūs iegūstat vēlamo rezultātu laika dimensijas dažādu līmeņu rādītājiem.

 

...

Kopas

Align
alignjustified

Tagad jūs zināt, kā pārvietoties uz atsevišķiem rādītājiem kādā no dimensijām, taču bieži vien ir vajadzība veikt darbības ar kādu dimensiju rādītāju kopu (set of dimension members). Piemēram, atrast summu (Sum) vai vidējo rādītāju vērtību (Average) kādas noteiktas dimensijas rādītāju kopas ietvaros.  

Vienkāršākais veids kā izmantot kopas kalkulāciju formulās ir izmantojot figūriekavas { } ( curly braces),

Piemēram:

{Customers.USA.CA, Customers.USA.OR, Customers.USA.WA}   –  Kopa : gan Oregona, gan Vašingtona

{Time.2011, Time.2012}  – Kopa : gan 2011 gads, gan 2012 gads

Ja Jūs vēlēties izveidot paši savu kopu ar secīgiem dimensiju līmeņa rādītājiem, tad jūs varat norādot pirmo un pēdējo rādītāju, jūs varat izmantot kolu ":" starp tiem, tādā veidā norādot kopu " no"  -  "līdz". Piemēram, šādi var definēt kopu no Jan 01 2012 to līdz Jan 15 2012 :

Time.2012.Q1 2012.Jan 2012.Jan 01 2012:Time.2012.Q1 2012.Jan 2012.Jan 15 2012

Diezgan bieži jūs nevēlēsieties norādīt kādus īpašu kopu, bet vēlēsieties atlasīt visus dimensijas hierarhiju līmeņu rādītājus. Jūs varat to izdarīt  izmantojot Members metodi, piemēram, lai iegūtu visus laika ( Time) dimensijas mēnešus : Time.Month.Members

Kad būs nepieciešams pārbaudīt, tieši kuri rādītāji tiks atgriezti, kā rezultāts kādai jūsu definētais kopai, lai pārbaudītu formulu pareizību tad varat izmantot SetToStr  funkciju , lai izveidotu tekstu ar iekļauto rādītāju pilnajiem nosaukumiem.

Piemēram, lai definētu aprēķināmo lielumu  Measures.test all months ar formulas SetToStr(Time.Month.Members) palīdzību iegūsiet sarakstu ar visiem mēnešiem.

Ir vēl vairākas noderīgas funkcijas, kuras varat izmantot strādājot ar kopām, lūk taži piemēri ar tām un to pielietojumu :  

Customers.USA.CA.Children  - atgriezīs vienu līmeni zemākā līmeņa ( .Children ) rādītājus izmantojot dimensiju hierarhiju (šajā gadījumā tās būs visas Kalifornijas pilsētas)

Descendants(Customers.USA, Customers.City)  - atgriezīs kopu ar eksistējošajiem rādītājiem noteiktajā ( .City) hierarhijas līmenī  ( šajā gadījumā visas USA pilsētas )

Customers.USA.CA.San Francisco.Siblings  - returns all members which have the same parent as this member (in this example all cities in California), it is the same as using argriezīs tos "radniecīgos" rādītājus, kuriem ir tāda pati  jeb  līmeni augstāka rādītāja vērtība, kā norādītajam ( .Sanfrancisco) . Šajā gadījumā funkcija atgriezīs visas pilsētas Kalifornijā.  

Lieši tāpat arī funkcija  Customers.USA.CA.San Francisco.Parent.ChildrenThere are additional methods that you can use to get just first or last members of these sets - FirstChild, LastChild, FirstSibling,

Ir vēl papildus metodes, kuras jūs varat izmantot lai iegūtu tikai pirmās vai pēdējās šo kopu rādītāju vērtības  - .FirstChild, .LastChild, .FirstSibling, .LastSibling.

 

...

Laika periodu kopas

Align
alignjustified

There are additional useful set selection methods for Time periodsIr pieejamas vairākas noderīgas kopu atlases metode, ko var izmantot Laika periodu kopām

  • PeriodsToDate(Time.Year, Time.CurrentMember) returns all periods from beginning of current member in specified level (in this example from beginning of current year) until specified member.
  • YTD(Time.CurrentMember) is shorter version of the same function (abbreviation from Year-to-date)
  • QTD(Time.CurrentMember) returns quarter-to-date set of members
  • MTD(Time.CurrentMember) returns month-to-date set of members
  • WTD(Time.CurrentMember) returns week-to-date set of membersIf you have just time dimension in your cube then you can use even shorter expressions YTD(), QTD(), MTD() and WTD() as by default they will receive as argument current member of time dimension Time.CurrentMember. But sometimes you need to pass different argument to these functions. For example, if you would like to compare current year-to-date aggregates with year-to-date aggregates year ago you can use the following expression to get year-to-date set for corresponding Time dimension member a year ago:YTD(ParallelPeriod(Time.Year, 1, Time.CurrentMember))
    And if you like shorter expression you can omit current member argument here as well YTD(ParallelPeriod(Time.Year, 1)). Most of time related functions will use Time.CurrentMember as default member argument.
    If you want to get number of last periods from Time dimension then you can use LastPeriods function. For exampleLastPeriods(3, Time.CurrentMember)
    will return set with current Time member and two previous members. If you would like to get current and next two Time periods then use negative value -3 instead of 3. \\\\\\\\\\\\\\\\\\\\\\\\\\

 

...