Versions Compared

Key

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

...

Align
alignjustified

Kad jūs izmantosiet Rādītāji.Pārdošana (Measures.Store Sales), tad StandardBI aprēkinās Pārdošanas lielumu katrai atbilstošās dimensijas rādītāja rindiņai/ kolonnai atskaitē.  Ja jūsu kalkulāciju formulā jūs gribat ignorēt kādas citas dimensijas vērtību, tad jums ir jāizmanto tuples, kas ir dažādu rādītāju kombinācija no dažādam dimensijām. MDX sintakse priekš tuples is  (member_1, member_2, ..., member_n). Piemēram, ja jūs velētos iegūt Pārdošanas (Store Sales) vērtību visiem klientiem tad jūs izmantotu tuple Rādītāji.Pārdošana, Klienti.Noklusētais rādītājs (Measures.Store Sales, Customers.DefaultMember ) .
Tagad ķersimies klāt aprēķināmo rādītāju definēšanai Rādītāji [] ( Measures.[] ) ar formulu ( un procentu formatējamu)  : Rādītāji. Pārdošana / Rādītāji.Pārdošana, Klienti.Noklusētais rādītājs (Measures.Store Sales / (Measures.Store Sales, Customers.DefaultMember).
Kad atskaitē jūs kombinēsiet Rādītāji [] kombinēsiet  (Measures.[] ) ar piemēram Klienti.USA.CA (Customers.USA.CA), tad jūs iegūsiet Californijas pārdošanas rezultātu no kopējās Pārdošanas procentuāli.
Iespējams jūs nevēlaties redzēt procentu no kopējās pārdošanas bet gan procentu no Klientu hierrhijas augtāka līmeņa pārdošanas rezultātiem (piem. pilsētas pārdošanas rezultātus pret atbilstošā štata pārdošanas rezultātiem). Šajā gadījumā jūs varat izmantot CurrentMember dimensiju vai hierarhiju, lai piekļūtu jūsu izvēlētajam rādītājam izvēlētajā dimensijā, kurš šobrīd tiek rēķināts. Piem. Klienti.CurrentMember ( Customers.CurrentMember ) atgriezīs rezultātā to CurrentMember Klientu hierarhijas rādītāju, kas šobrīd tiek rēķināts. Jeb citiem vārdien  - ja Klientu (Customers) dimensija ir atskaites rindās, tad izmantojot Klienti.CurrentMember ( Customers.CurrentMember) mēs zināsim, kurai rindiņai formula šobrīd tiek rēķināta. 
Ja mums ir tekoša rādītājs (Current member ), tad mēs varam pārvietoties arī uz citiem dimensijas rādītājiem, kas ir saistīti ar šo rādītāju ( Customers.CurrentMember).  Ancestor(Customers.CurrentMember, Customers.Country) pārvietosies uz "vecāku" jeb vienu līmeni augstāku rādītāju Valsts ( Country ) līmenī.
Tātad mēs varam definēt Aprēkināmo rādītāju Rāditāji[] ( Measures.[]) kā  (Measures.Store Sales / (Measures.Store Sales, Customers.CurrentMember.Parent)

 

...

Align
alignjustified

Now that you know how to select different sets of dimension members you can calculate different aggregated values from these sets:

  • Sum(set, numeric_expression) calculates numeric_expression for each set member and returns sum of all these results. For example, Sum(LastPeriods(3). Measures.Store Sales) will calculate total sales for last three Time periods starting from current Time dimension member.
  • Count(set) returns count of set members. Count(set, ExcludeEmpty) will return count of set members for which corresponding measure values are not empty.
  • Avg(set, numeric_expression) calculates average of numeric_expression in set
  • Max(set, numeric_expression) returns maximum value of numeric_expression in set
  • Min(set, numeric_expression) returns minimum value of numeric_expression in set \\\\\\\\\\\\\\

 

...

Nosacījumi

Align
alignjustified

You can write formulas with conditions and different results based on condition evaluation using IIF and CASE functions. For simple Jūs varat rakstīt dažadas formulas ismantojot nosacījumus un izvadīt dažadus rezultātus balstoties atblstību nosacījumiem  izmantojot IIF ( Ja ) un CASE ( Gadījumā ja) funkcijas. Priekš vienkāršiem IF/THEN /ELSE type of conditions use tipa nosacījumiem izmantojiet IIF(conditionnoacījums, ifja_truenosacījums_expressionpateiss, if_ja_nosacījums_nepatiess)  , (    IIF(condition, if_true_expression, if_false_expression) (notice that there are two I letters in IIF), for exampleIIF. Taču ņemiet vērā ka "IIF" satur divus "I" burtus, nevis kāierats IF !  Piemēram  IIF(Measures.Profit > 0, 'Profit', 'Loss')
If there are many conditions then it is easier to use CASE function, for exampleCASE t.i ja Measures.Profit būs lielāks par nulli tad rezultāts būs " Profit", ja vērtība neatbildīs nosacījumam un būs mazāka par 0, ta rezultāts būs " Loss" .

Ja ir vairāki nosacījumi tad ir vieglāk izmantot CASE funkciju , piemēram šadā gadījumā :
CASE
WHEN Measures.Profit > 1000        – Kad peļņa ir lielāka par 1000
THEN 'Big profit'
WHEN Measures.Profit > 0
                              -- tad peļņa ir " Liela Peļņa "
WHEN Measures.Profit > 0              – kad peļņa ir lielāka par 0
THEN 'Small profit'                           --tad rezultāts "Maza peļņa"
ELSE 'Loss'
END
If all conditions are comparisons of the same expression to different expected values then other CASE form can be used, for exampleCASE                                       – citādi rezultāts  " Zaudējumi" ( darbosies visām vērtībām kas ir mazākas vai vienādas ar 0 )
END


Ja visi nosacījumi ir salīdzinājums vienam un tam pašam nosacījumam, kas attiecas uz dažāda tipa vērtībām, tad var izmantot cita tipa CASE funkcijas fomu .

CASE Time.CurrentMember.Level.Name Name                     – Ja Laika dimensijas tekošā rādītāja līmenī Nosaukums
WHEN 'Month'                                                              – atbilst " Mēnesis"
THEN Sum(LastPeriods(3), Measures.Store Sales)    –  tad summēt pēdējos trīs periodu ( 3 mēnešus) pārdošanas rezultātus
WHEN 'Day'                                                                  – Ja atbilst  " Diena "
THEN Sum(LastPeriods(90), Measures.Store Sales)  – Tad summēt pēdējās 90 dienu ( kas arī ir 3 mēneši) pārdošanas rezultātus
END

In Lietojot IIF and CASE conditions standard comparison operators can be used un CASE nosacījumus var izmantot standarta salīdzinājuma zīmes (=, <, <=, <>, >, >=) as well as kā arī AND, OR and NOT operators as well as several specific operators:

IS returns whether two objects are the same, for example

NOT  ( UN, VAI un NAV) operatorus, kā arī vēl dažus papildus specifiskos operatorus :

  • IS  - atgriezīs rezultātā to, vai divi objekti ir vienādi, piemēram, Customers.CurrentMember IS Customers.DefaultMember ( which will be true if Customers current member is default All Customers member)IN and NOT IN returns whether member is in set, for example kas būs patiesi, ja Customers tekošais rādītājs ( Current member)  ir noklusētais  All Customers ( Visi Klienti)  rādītājs.
  • IN un  NOT IN  operatori atgriezīs rezultātā vai rādītājs ir iekļauts kādā noteiktā rādītāju kopā, Piemēram Customers.CurrentMember IN Customers.USA.CA.Children \\\\\\\\\\\\\\\\\\\\\\\\\\, šajā gadījumā vai Klienti tekošais rādītājs ( Current member )  ir no Kanādas klientiem.

 

Dimensiju rādītāju īpašības

...