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 exampleNOT ( 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.
|