Gəlin həyatdan sadə bir nümunə ilə başlayaq. Təsəvvür elə, sən bir kofe dükanının sahibisən. Hər gün müştərilər gəlir, sifariş verir və sən bu dataları qeyd edirsən. Bir müddət sonra bilmək istəyirsən: hansı içkilər ən populyardır? Son üç ayda orta çek nə qədər olub? Həftənin hansı günləri ən çox gəlir gətirir?
Bu suallar — analitika məsələlərinin nümunəsidir. Analitika burada "data yığını"nı faydalı məlumata çevirməyə kömək edir. Database daxilində analitika ilə işləmək isə heç bir sehr deyil, sadəcə belə suallara cavab verməyə imkan verən alətlər toplusudur.
Analitika adətən belə məsələləri həll edir:
- Açar metriklərin analizi (məsələn, gəlir, orta çek, sifariş sayı).
- Hesabatların qurulması: cədvəllər, qrafiklər, diaqramlar.
- Trend-lərin monitorinqi: göstəricilər zamanla necə dəyişir.
- Dataların müqayisəsi (məsələn, bir regionun digər regionla müqayisəsi).
Bu, əsaslandırılmış biznes qərarları vermək, prosesləri optimallaşdırmaq və ya hətta gələcək nəticələri proqnozlaşdırmaq üçün vacibdir.
PL/pgSQL-in analitikadakı rolu
İndi artıq başa düşürük ki, analitika niyə lazımdır, belə bir sual yaranır: niyə bunun üçün PL/pgSQL uyğundur? Axı datanı Excel-ə export edib orada hesablamaq olar! Düzdür?
PL/pgSQL imkan verir:
- Hesablamaları avtomatlaşdırmaq. Əgər bir işi avtomatlaşdırmaq mümkündürsə, niyə əl ilə təkrar edəsən?
- Böyük həcmdə datanı birbaşa server tərəfində işləmək. Serverdə hesabatların generasiyası böyük datanın client tətbiqlərinə ötürülməsinə ehtiyac qoymur.
- Minimal yük ilə güclü sorğular yaratmaq. Böyük cədvəllərlə tez və effektiv işləmək olur.
Nümunə: hər gün satışlar üzrə hesabatı avtomatik generasiya edib cədvəldə saxlamaq olar, əllə bunu etmək lazım deyil.
Analitikanın avtomatlaşdırılması üçün prosedurlardan istifadə üstünlükləri
Əl ilə analiz prosesi:
- Databasedən datanı götür.
- Onları hansısa cədvəldə işlət.
- Nəticələri saxla. PL/pgSQL ilə avtomatlaşdırma:
- Bir dəfə prosedur yaz.
- Cədvəl üzrə işə sal.
- Nəticələrdən həzz al.
Tamamilə başqa səviyyə rahatlıq, düzdür? :)
Analitik funksiyalarla həll olunan məsələlərə nümunələr
Budur, analitik funksiyalarla həll edə biləcəyin bir neçə məsələ. Bu nümunələr sənə göstərəcək ki, analitik funksiyalar heç də abstrakt bir şey deyil, çox faydalı alətdir.
Açar metriklərin hesablanması
Açar metriklər — biznesin vəziyyətini qiymətləndirməyə kömək edən göstəricilərdir. Məsələn:
- Orta çek: müştəri orta hesabla nə qədər xərcləyir.
- Müəyyən dövr üçün ümumi sifariş sayı.
- Məhsul kateqoriyaları üzrə satışdan gəlir.
Orta çek üçün SQL-sorğu nümunəsi:
SELECT
SUM(order_amount) / COUNT(*) AS average_order
FROM
orders
WHERE
order_date > CURRENT_DATE - INTERVAL '3 months';
Zaman sıraları və trend-lərin qurulması
Tutaq ki, satışların günlər üzrə necə dəyişdiyini bilmək istəyirsən. Bunun üçün datanı tarixə görə qruplaşdırıb zaman sıraları qurmaq olar.
SELECT
order_date,
SUM(order_amount) AS daily_sales
FROM
orders
GROUP BY
order_date
ORDER BY
order_date;
Dövrlər üzrə dataların müqayisəsi
İndi isə təsəvvür elə, oktyabr və sentyabr ayları üzrə gəliri müqayisə etmək istəyirsən:
SELECT
EXTRACT(MONTH FROM order_date) AS month,
SUM(order_amount) AS total_sales
FROM
orders
WHERE
order_date BETWEEN '2023-09-01' AND '2023-10-31'
GROUP BY
EXTRACT(MONTH FROM order_date);
Belə yanaşma imkan verir nəticə çıxarmağa: aylar arasında nə dəyişdi? Niyə sentyabr daha uğurlu oldu? Yoxsa, bəlkə, əksinə?
Bu real həyatda necə işləyir?
Real praktikada analitika aşağıdakı ssenarilərdə tətbiq olunur:
- Marketinqdə: hansı kanalların daha çox müştəri gətirdiyini anlamaq üçün.
- Maliyyədə: gəlir, zərər və proqnozlaşdırma üçün.
- Proqram təminatı inkişafında: tətbiqlərin performansını analiz etmək üçün.
- Oyun sənayesində: istifadəçi davranışını analiz edib fərdi təkliflər qurmaq üçün.
İndi artıq bilirsən ki, analitik funksiyalar nə üçündür, növbəti mühazirələrdə texniki detallara — məsələn, window funksiyaları və aggregat-lardan hesabatlar qurmağa — baş vuracağıq. Hələlik isə təsəvvür elə, hansı metrikləri analiz etmək istərdin və bu sənin layihənə necə kömək edə bilərdi!
GO TO FULL VERSION