Power BI-da Merge və Append əməliyyatları

Müəllif: Azadə İmranzadə

Salam hörmətli oxucum,

Sizi növbəti yazımda xoş gördük. 

Sizinlə bugün Power Query-nin “Home” menyusunda “Append Queries” və “Merge Queries” əməliyyatlarına baxacağıq. Bu iki əməliyyat bizə rahatlıqla müxtəlif fayllardan datanın vahid sorğuda, yəni cədvəldə birləşdirilməsinə imkan verir. Lakin, gördükləri iş biraz fərqlidir. Daha ətraflı izaha keçməzdən öncə gəlin aşağıdakı nümunələrə baxaq:

Yəqin ki, bir çoxumuz datalarla işləyən zaman eyni sütun başlıqlarından ibarət olan müxtəlif cədvəlləri bir fayla yığmalı və bunun əsasında ümumi bir hesabat hazırlamalı olmuşdur. Məsələn, gəlin aşağıdakı kimi müxtəlif illər üzrə satış cədvəllərimizin olduğunu düşünək. Power BI və Power Query ilə tanış olmazdan öncə ağlımıza gələn üsullardan biri bu cədvəlləri tək-tək kopyalayıb cədvəllərdən birinə yapışdırmaq ola bilər. 

Və ya aşağıdakı şəkildə solda qeyd olunmuş cədvəlimizə sağdakı cədvəlimizdən məhsulların kateqoriya adları lazımdır. Həmin datanı ilk cədvəlimizə çəkmək üçün bizə  “CategoryKey” adlı sütun kimi ortaq bir sütun və MS Excelin LOOKUP funksiyaları yardımçı olacaqdır. 

Şəkil 1. Cədvəllərin nümayişi

Yuxarıda sadaladığım nümunələr və oxşar digər hallarda Power BI-da “Append Queries” və “Merge Queries” əməliyyatları bizim köməyimizə çatır.

Append queries nədir?

“Append Queries” əməliyyatı vasitəsilə sütun başlıqları eyni olan 2 və daha artıq cədvəli vahid faylda rahatlıqla birləşdiririk.

İstəsək, cədvəlləri yeni bir cədvəl şəklində yarada bilərik, və yaxud da, seçdiyimiz ilk cədvəlin aşağısına digər cədvəlləri əlavə etməyimiz də mümkündür. Bunun üçün sadəcə olaraq, cədvəllərin başlıqlarının eyni adlandırılması kifayətdir. Əgər sütun adı hər hansı bir cədvəldə fərqli olarsa, sütun adları eyni olan cədvəllərdə məlumatlar düzgün şəkildə yığılacaq, lakin başlığı fərqli olan sütun yeni yaranacaq cədvəldə yeni sütun kimi əlavə edilib, digər cədvəllər üzrə məlumatlar həmin sütunda “null” şəklində görünəcəkdir.

Qeyd edim ki, 2 və ya daha çox cədvəli “append” vasitəsilə birləşdirdiyimizdə, ilk seçdiyimiz cədvəli Power Query nümunə kimi götürüb, digər cədvəllərin məlumatlarını ona müvafiq şəkildə ardıcıl yığır. Power Query-də üzərində işlədiyimiz cədvəlləri biz “query”, yəni sorğu adlandırırıq. “Append” əməliyyatını vizual olaraq aşağıdakı kimi təsvir etmək olar.

Şəkil 2. Append əməliyyatı

“Append” funksiyasını biz ən çox məlumatları aylar üzrə və ya hansısa səbəbdən tək-tək fayllarda  saxlamalı olduğumuz hallarda istifadə edirik. Həm faylları rahatlıqla ayrı saxlayıb, həm sürətli şəkildə birləşdirməyimizi asanlaşdırır. 

“Append” bizə cədvəllərimizi “uzatmağa” imkan verirsə, yəni alt-alta əlavə etməklə sətir sayını artırırsa, “merge” əməliyyatı “eninə” artırmağa imkan verir. Yəni, 2 və ya daha çox cədvəlimiz var, və bizə digər cədvəllərdən bir cədvələ məlumat gətirmək lazımdır. Bu halda “merge” əməliyyatından istifadə edirik. Beləliklə, sütun sayını artırırıq.

Merge queries nədir?

“Merge” əməliyyatını istifadə edərkən, bilməli olduğumuz bəzi nüanslar vardır. İlk olaraq, yuxarıda qeyd etdiyim kimi, bu əməliyyat VLOOKUP funskiyasına çox oxşayır. Lakin, Power Query-də bu əməliyyatı icra etdikdə, biz bütöv cədvəli digərinə gətirmiş oluruq və istədiyimiz sütunları seçib saxlaya bilirik. Yəni bir dəfəyə birdən çox sütun gətiririk.

İkinci olaraq, Power Query imkan verir ki, biz, eyni zamanda birdən çox sütuna əsaslanaraq, “merge” əməliyyatını icra edək. Bunun üçün sadəcə olaraq, “merge” əməliyyatını icra edərkən açılan pəncərədə ortaq məlumatların olduğu sütunları seçərkən, “CTRL” düyməsini sıxıb saxlamaq lazımdır. Aşağıdakı görüntüdən də gördüyünüz kimi, seçmə ardıcıllığımız sütunların seçilmə ardıcıllığını müəyyənləşdirir.

Şəkil 3. Merge əməliyyatı

Bir digər önəmli nüans odur ki, biz “merge” etmək üçün birləşdirmə tiplərini, yəni “join kind” anlayışını yaxşı başa düşməliyik. Birləşdirmələr bizə məktəb zamanı riyaziyyat fənnindən keçdiyimiz çoxluqları xatırladır.

Power Query-də bu əməliyyatı icra edərkən, “join kind” seçildikdə, hansı cədvəldən nəyin gətiriləcəyi barədə mötərizə daxilində açıqlama verilir. Lakin, hansını seçməli olduğumuzu öncədən bilməkdə fayda vardır. 

  • Left join növü ilə biz seçdiyimiz ilk cədvəldən bütün sütun və sətirləri, ikinci cədvəldən isə sadəcə uyğun olan datanı gətirə bilirik. 
  • Right join isə, əksinə, ikinci cədvəldən hər şeyi, ilk cədvəldən isə sadəcə uyğun olanları gətirir.
  • Inner join hər iki cədvəldən uyğun gələn sətirlər üzrə məlumatları gətirir. 
  • Full outer hər iki cədvəldən bütün sətirlər üzrə məlumatları gətirir və tapılmayan məlumatların yerinə “null” qaytarır. 
  • Left antiright anti isə, müvafiq olaraq, solda və sağda dayanan cədvəllərdə, sadəcə ortaq olmayan sətirlər üzrə məlumatları qaytarır. Vizual olaraq, aşağıdakı şəkildən də birləşmələr barədə məlumat əldə edə bilərsiniz.
Join Types in Power Query – Part 1: Join Types - Excel UnpluggedExcel ...
Şəkil 4. Join növləri

Bundan əlavə, biz “merge” əməliyyatının “fuzzy matching” funksionallığından da istifadə edə bilərik. “Fuzzy matching” vasitəsilə biz, ortaq olan datamızın tamamilə eyni olmadığı hallarda, oxşarlıq faizini müəyyən edərək istifadə edə bilərik. 0 və 1 aralığında istədiyimiz dəqiqliyi daxil edərək, tam eyni olmayan datalar arasında “merge” əməliyyatını yoxlaya bilərik.

“Merge” əməliyyatını icra etdikdən sonra, biz gətirdiyimiz datanı cədvəlimizdə “Expand” eləməli, yəni genişləndirməliyik. “Merge”-dən sonra məlumatlarımız aşağıdakı şəkildə qayıdır. Qırmızı ilə işarələdiyim hissəni klikləyərək, ikinci şəkildəki kimi, bizə lazım olan sütunları və ya hamısını seçə bilirik. Əgər “Use original column name as prefix” bölməsini olduğu kimi saxlasaq, yeni gələn sütunların adında cədvəlin adını da görəcəyik. Lakin, onu işarələməsək, sadəcə sütun adlarını görə biləcəyik:

Şəkil 5. Merge əməliyyatı Table görüntüsü
Şəkil 6. Merge əməliyyatı Expand addımı

“Merge” funksiyası olduqca faydalı olsa da, Power BI-dan istifadə edənlərə “merge” funskiyasından istifadə etməyi çox da tövsiyə edilmir. Onun əvəzinə, daha yaxşı olan “Data modelling” bölməsinə aid olan müxtəlif cədvəllər arasında əlaqələrin qurulması və mövcud olan əlaqələr vasitəsilə dataların analiz edilməsi daha məqsədə uyğun hesab edilir.

Növbəti yazımızda görüşənədək.

Default image
Azadə İmranzadə
Articles: 4

Leave a Reply