Norėdami atlikti palyginamąją analizę Qlik Sense aplikacijose, galite naudoti alternatyvias būsenas (angl. „Alternate state“). Alternatyvios būsenos leidžia atlikti skirtingas parinktis toje pačioje dimensijoje ir tas reikšmes palyginti tame pačiame vizualizacijos objekte arba dviejuose ar daugiau vizualizacijos objektų vienas šalia kito.
Alternatyvias būsenas vizualizacijos objektuose galima naudoti keliais būdais:
- taikant visam vizualizacijos objektui, – tai leidžia sujungti vizualizacijos parinktį su būsenos parinktimi;
- aibių analizėje (angl. „Set analysis“) rodiklio skaičiavimui. Šis būdas yra naudingas, kai norima palyginti rodiklio reikšmes tarp skirtingų tos pačios dimensijos būsenų.
Alternatyvių būsenų kūrimas
Alternatyvias būsenas Qlik Sense galima kurti bibliotekoje („Master items“) pasirenkant “Alternatyvios būsenos” („Alternate state“) :
- Spauskite „Sukurti naują“ („Create new“):
- Suteikite alternatyviai būsenai pavadinimą ir spauskite „Sukurti“ („Create“):
Būsenų pavadinimams yra keletas apribojimų:
- negalima naudoti simbolių $, 0 arba 1 kaip būsenos pavadinimo;
- negalima naudoti simbolio $ arba $_ su skaitmeniu būsenos pavadinimo pradžioje;
- negalima naudoti būsenos pavadinimo tokio, kuris jau yra naudojamas kaip žymės (angl. „bookmark“) pavadinimas.
Dabar, kai esate sukūrę alternatyvią būseną, ją galite naudoti palyginamojoje analizėje. Taip pat galima sukurti ir kitas būsenas, – tuomet būtų galima palyginti skirtingas būsenas tarpusavyje.
Alternatyvių būsenų taikymas puslapiams ir vizualizacijos objektams.
Alternatyvias būsenas galima taikyti atskiriems vizualizacijos objektams arba visam puslapiui. Jeigu taikysite alternatyvią būseną visam puslapiui, visi vizualizacijos objektai puslapyje paveldės nustatytą būseną (nebent pritaikysite kitą būseną tam tikriems objektams). Kai būsena yra pritaikyta vizualizacijos objektui, parinktys, atliktos dimensijose tame objekte, yra taip pat dimensijos alternatyvioje būsenoje:
Atliktos parinktys konkrečioje alternatyvioje būsenoje pritaikomos ir kitiems objektams, kuriuose naudojama ta pati alternatyvi būsena.
Lengviausias būdas pritaikyti alternatyvią būseną yra pelės pagalba nutempti ją į puslapį arba į vizualizacijos objektą ir pasirinkti „Pritaikyti būseną“ („Apply state“):
Taip pat alternatyvią būseną galima pritaikyti per ypatybių skydelį (angl. „Property panel“):
- Norint pritaikyti būseną visam puslapiui, pakanka pasirinkti puslapio nustatymų langelyje:
- Norint pritaikyti būseną vizualizacijos objektui, pasirinkite „Apipavidalinimas“ („Appearance“)> “Alternatyvios būsenos” („Alternate states“):
Galimos parinktys:
- bet kokią alternatyvią būseną, kuri yra apibrėžta bibliotekoje („Master items“);
- <inherited> – šiuo atveju objektas paveldi puslapio nustatytą būseną;
- <default state> – šiuo atveju naudojama standartinė būsena, kur nėra taikoma jokia apibrėžta būsena iš bibliotekos.
Alternatyvių būsenų naudojimas vizualizacijose
Alternatyvias būsenas taip pat galima naudoti aibių analizėje (angl. „Set analysis“), kuriant rodiklius. Tai yra naudinga, kai norima palyginti rodiklio reikšmes skirtingoms tos pačios dimensijos parinktims.
Alternatyvią būseną galima naudoti kaip identifikatorių aibių analizėje, kuriant rodiklį. Pavyzdžiui, jeigu norite naudoti rodiklį SUM(transaction.sale_amount) su būsena, kuri yra pavadinta „State1“, stulpeliniame grafike naudokite štai tokią rodiklio išraišką:
SUM({[State1]} transaction.sale_amount)
Norint rodiklį palyginti su kita būsena, pavadinta „State2“, galite sukurti kitą rodiklį su tokia išraiška:
SUM({[State2]} transaction.sale_amount)
Dabar, sukūrus diagramą su šiais dviem rodikliais ir pridėjus dimensiją “Klientas” bei pasirinkus, pavyzdžiui, vienerius metus iš būsenos [State1] ir kitus metus iš būsenos [State2], stulpelinė diagrama rodys pardavimus iš [State1] ir [State2] būsenų vieną šalia kito:
Daugiau apie aibių analizę galima paskaityti Qlik puslapyje.
Alternatyvių būsenų naudojimo pavyzdys
Vienas iš pavyzdžių, kaip galima panaudoti alternatyvias būsenas, – tai prarastų ir naujų klientų atranka.
Susikurkite naują puslapį, kuriame būtų parinktys Metai, Ketvirtis, Mėnuo, Prekės kategorija, Prekės grupė ir Prekė. Visa tai pakartokite du kartus.
Pirmam dimensijų rinkiniui suteikite būseną [State1], antram – [State2].
Dabar sukurkite naują lentelę puslapyje:
- dimensija – Klientas (mūsų duomenų modelyje laukas yra [customer.code_and_name]),
- rodiklis – Apyvarta, EUR, formulė:
SUM([transaction.sale_amount])),
- rodiklis – Bendrasis pelnas, EUR, formulė:
SUM([transaction.sale_amount])
–
SUM([transaction.sale_cost_amount] * (-1)))
(mūsų duomenų modelyje savikaina yra su neigiamu ženklu, todėl, kad suskaičiuotume teisingai bendrojo pelno sumą, pakeičiame savikainos ženklą rodiklyje),
- rodiklis – Marža, %, formulė:
(SUM([transaction.sale_amount])
–
SUM([transaction.sale_cost_amount] * (-1)))
/
(SUM([transaction.sale_amount])),
- rodiklis – Dokumentų sk., formulė:
COUNT(DISTINCT [transaction_document.counter]).
Tačiau šios formulės rodys tik tuos rodiklių rezultatus, kurie yra suskaičiuojami esant standartinei būsenai (<default state>), kad ir kokios parinktys būtų atliktos būsenose [State1] ar [State2].
Dabar sukurkime naują lentelę:
- dimensija – Klientas (mūsų duomenų modelyje laukas yra [customer.code_and_name]),
- rodiklis – Apyvarta, EUR, formulė:
SUM({<customer.code = P({[State1]} customer.code) – P({[State2]} customer.code)>} [transaction.sale_amount])),
- rodiklis – Bendrasis pelnas, EUR, formulė:
SUM({<customer.code = P({[State1]} customer.code) – P({[State2]} customer.code)>} [transaction.sale_amount])
–
SUM({<customer.code = P({[State1]} customer.code) – P({[State2]} customer.code)>} [transaction.sale_cost_amount] * (-1))),
- rodiklis – Marža, %, formulė:
(SUM({<customer.code = P({[State1]} customer.code) – P({[State2]} customer.code)>} [transaction.sale_amount])
–
SUM({<customer.code = P({[State1]} customer.code) – P({[State2]} customer.code)>} [transaction.sale_cost_amount] * (-1)))
/
(SUM({<customer.code = P({[State1]} customer.code) – P({[State2]} customer.code)>} [transaction.sale_amount])),
- rodiklis – Dokumentų sk., formulė:
COUNT({<customer.code = P({[State1]} customer.code) – P({[State2]} customer.code)>} DISTINCT [transaction_document.counter]).
Aibių analizėje („Set analysis“) naudojama ta pati sąlyga: rodiklius skaičiuoti tik tiems klientams, kurie susiję su parinktimis iš būsenos [State1], bet nesusiję su parinktimis iš būsenos [State2] (žr. apatinę lentelę):
Matome, kad rodiklių sumos tikrai skiriasi.
Kaip galime naudoti antrąją sukurtą ataskaitą?
Pirmas klausimas: kokie klientai yra prarasti, t. y. norime gauti rezultatus tų klientų, kurie pirko 2018 m., bet nepirko 2019 m.
Viršuje atliekame parinktis:
- metų dimensijoje, kuriai yra nustatyta būsena [State1], pasirenkame 2018 m.,
- metų dimensijoje, kuriai yra nustatyta būsena [State2], pasirenkame 2019 m.
Gauname rezultatą tų klientų, kurie pirko 2018 m., bet nepirko 2019 m. Vadinasi, gauname tiek sąrašą klientų, kurie šiais metais nebepirko, tiek galimai prarastąjį bendrąjį pelną. Surūšiavus ataskaitą pagal bendrojo pelno rodiklį mažėjimo tvarka, gausime klientus, kurių galimai prarastas bendrasis pelnas yra didžiausias. Iš dokumentų skaičiaus rodiklio galima spręsti, kaip dažnai klientas pirko: ar tai buvo dažnas pirkėjas, ar atsitiktinis, pirkęs tik keletą kartų.
Antras klausimas: kokie klientai yra nauji, t. y. norime gauti rezultatus tų klientų, kurie pirko 2019 m., bet nepirko 2018 m.
Viršuje atliekame parinktis:
- metų dimensijoje, kuriai yra nustatyta būsena [State1], pasirenkame 2019 m.,
- metų dimensijoje, kuriai yra nustatyta būsena [State2], pasirenkame 2018 m.
Gauname rezultatą tų klientų, kurie pirko 2019 m., bet nepirko 2018 m. Vadinasi, gauname tiek sąrašą naujų klientų, kurie šiais metais pirko, bet nepirko pernai, tiek ir bendrąjį pelną, kurį uždirbome iš naujų klientų. Surūšiavus ataskaitą pagal bendrojo peno rodiklį mažėjimo tvarka, gausime naujus klientus, kurių uždirbtas bendrasis pelnas yra didžiausias. Iš dokumentų skaičiaus rodiklio galima spręsti, kaip dažnai klientas pirko: ar tai buvo dažnas pirkėjas, ar atsitiktinis, pirkęs tik keletą kartų.
Dar vienas būdas ataskaitai naudoti
Tarkime, žinome, kad prekės kategorijos 1 prekė 3042 yra dažnai perkama su kategorijos 2 preke 142. Tuomet galima rasti klientus, kurie 2019 m. I ketvirtį pirko prekės kategorijos 1 prekę 3042, bet nepirko kategorijos 2 prekės 142.
Viršuje atliekame parinktis:
- metų dimensijoje, kuriai yra nustatyta būsena [State1], pasirenkame 2019 m.,
- ketvirčio dimensijoje, kuriai yra nustatyta būsena [State1], pasirenkame I,
- prekės kategorijos dimensijoje, kuriai yra nustatyta būsena [State1], pasirenkame pirmą prekės kategoriją,
- prekės dimensijoje, kuriai yra nustatyta būsena [State1], pasirenkame prekės kodą 3042,
- metų dimensijoje, kuriai yra nustatyta būsena [State2], pasirenkame 2019 m.,
- ketvirčio dimensijoje, kuriai yra nustatyta būsena [State2], pasirenkame I,
- prekės kategorijos dimensijoje, kuriai yra nustatyta būsena [State2], pasirenkame antrą prekės kategoriją,
- prekės dimensijoje, kuriai yra nustatyta būsena [State2], pasirenkame prekės kodą 142.
Gauname rezultatą tų klientų, kurie pirko 2019 m. I ketvirtį kategorijos 1 prekę 3042, bet nepirko kategorijos 2 prekės 142. Tai sąrašas potencialių klientų, kuriems prie prekės 3042 galime siūlyti prekę 142.
Tokių ir panašių klausimų galima sugalvoti ir daugiau.
Daugiau apie alternatyvias būsenas galima paskaityti Qlik puslapyje.
Visa informacija parengta su Qlik Sense 2019 birželio mėn. versija.
Laura Sakalauskienė, Qlik analitikė-konsultantė