Power BI + Odoo Entegrasyonu İçin Tam Kılavuz

Gelişmiş analizler için Power BI'ı Odoo ERP'ye bağlayın. PostgreSQL doğrudan sorguları, anahtar tablolar, satış/envanter/İK kontrol panelleri ve artımlı yenileme kurulumu.

E
ECOSIRE Research and Development Team
|17 Mart 202624 dk okuma5.4k Kelime|

Data Analytics & BI serimizin bir parçası

Tam kılavuzu okuyun

Power BI + Odoo Entegrasyonu İçin Tam Kılavuz

Odoo, 12 milyondan fazla kullanıcısı ve satış ve envanterden üretim ve insan kaynaklarına kadar her şeyi kapsayan 43 resmi modülüyle dünyanın en güçlü açık kaynaklı ERP platformlarından biridir. Power BI, aylık 300 milyondan fazla aktif kullanıcısıyla sektör lideri iş zekası platformudur. Ancak şaşırtıcı bir şekilde çok az kuruluş bu iki sistemi birbirine bağlayarak masada muazzam bir analitik değer bırakıyor.

Bunun nedeni açıktır: Odoo'nun kendi yerleşik raporlaması vardır ve çoğu Power BI danışmanlığı Microsoft Dynamics, SAP veya Salesforce entegrasyonlarına odaklanır. Çok az firmanın her iki platformda da derin uzmanlığı var. ECOSIRE olarak 43'ten fazla Odoo modülü oluşturup dağıttık ve derin Power BI uzmanlığımızı sürdürüyoruz; bu da Odoo + Power BI kombinasyonunu temel uzmanlıklarımızdan biri haline getiriyor. Bu kılavuz, düzinelerce gerçek dünya entegrasyonundan öğrendiğimiz her şeyi özetlemektedir.


Temel Çıkarımlar

  • Odoo'nun PostgreSQL veritabanı, yerel PostgreSQL bağlayıcısı kullanılarak doğrudan Power BI Desktop'a bağlanabilir, böylece her tabloya ve alana tam erişim sağlayabilirsiniz
  • Analitik için en değerli beş Odoo tablosu sale_order, account_move,stock_picking, hr_employee ve mrp_prodüksiyondur — birlikte yönetici raporlama ihtiyaçlarının yüzde 80'ini karşılarlar
  • Power BI'daki artımlı yenileme, yalnızca son yenilemeden bu yana değişen kayıtları getirerek Odoo veri yükleme sürelerini saatlerden dakikalara indirebilir
  • OData uç noktaları ve Odoo'nun Harici API'si, doğrudan veritabanı erişimi mümkün olmadığında bulut dostu alternatifler sağlar
  • Power BI'daki satır düzeyinde güvenlik, Odoo'nun çok şirketli erişim denetimlerini yansıtarak kullanıcıların yalnızca kendilerine atanmış şirketlerden gelen verileri görmesini sağlar
  • Odoo'nun PostgreSQL veritabanına yönelik özel SQL sorguları, veritabanı düzeyinde filtreleme, birleştirme ve toplama işlemleri gerçekleştirebildiğiniz için genel tablo içe aktarma işlemlerinden 5-10 kat daha iyi performans gösterir
  • İyi tasarlanmış bir Odoo + Power BI dağıtımı, düzinelerce elektronik tablo raporunun yerini tek bir yönetilen analiz platformuyla alır

Odoo + Power BI Neden Güçlü Bir Kombinasyondur?

Odoo'nun Yerleşik Raporlamasının Sınırlamaları

Odoo çeşitli raporlama araçlarıyla birlikte gelir: özet görünümler, grafik görünümleri ve yerleşik bir kontrol paneli. Günlük işlemler için bunlar yeterlidir. Ancak kurumsal analiz konusunda birkaç kritik açıdan yetersiz kalıyorlar.

İlk olarak, Odoo'nun pivot görünümleri birden fazla modülden gelen verileri tek bir görselleştirmede birleştiremez. Tek bir grafikte satış gelirini stok devir hızı ve üretim verimiyle birleştiremezsiniz. Her modülün raporlaması ayrı tutulur.

İkincisi, Odoo'nun zaman zekası fonksiyonları yok. Yıldan yıla karşılaştırmalar, yuvarlanan ortalamalar, kümülatif toplamlar ve dönemden bugüne hesaplamalar, özel geliştirme veya manuel elektronik tablo aktarımı gerektirir.

Üçüncüsü, Odoo'nun yönetilen veri modeli kavramı yoktur. "Gelir" veya "müşteri yaşam boyu değeri" gibi metrikler için paylaşılan bir tanım yoktur. Her kullanıcının kendi yorumunu yaratması, yönetim toplantılarında çelişkili rakamlara yol açmaktadır.

Dördüncüsü, Odoo'nun görselleştirme yetenekleri temel çubuk grafikler, çizgi grafikler ve pasta grafiklerle sınırlıdır. Isı haritaları, dağılım grafikleri, şelale grafikleri, ayrıştırma ağaçları ve KPI kartları mevcut değildir.

Power BI'nın Katkıları

Power BI bu sınırlamaların her birini ele alır. Odoo'nun PostgreSQL veritabanına (veya API'sine) bağlanır ve tüm modüllerde birleşik bir anlamsal model oluşturur. DAX formülleri zaman zekası, istatistiksel işlevler ve karmaşık iş mantığı sağlar. Görselleştirme kütüphanesi 300'den fazla grafik türünü içerir. Power BI'ın yönetim özellikleri (çalışma alanları, satır düzeyinde güvenlik, onay, duyarlılık etiketleri) kurumsal düzeyde veri yönetimi sağlar.

Bu kombinasyon size günlük işler için Odoo'nun operasyonel mükemmelliğini ve stratejik karar alma için Power BI'nın analitik derinliğini kazandırır. Operasyon ekipleri Odoo'da çalışmaya devam ediyor; yöneticiler ve analistler otomatik olarak güncellenen Power BI panolarına sahip oluyor.


Bağlantı Yöntemleri: Doğrudan Veritabanı ve API

Power BI'ı Odoo'ya bağlamanın üç temel yöntemi vardır. Her birinin barındırma modelinize ve güvenlik gereksinimlerinize bağlı olarak değiş tokuşları vardır.

Yöntem 1: Doğrudan PostgreSQL Bağlantısı

Bu, şirket içi veya şirket içinde barındırılan Odoo dağıtımları için tercih edilen yöntemdir. Odoo tüm verileri PostgreSQL'de depolar ve Power BI'da yerel bir PostgreSQL bağlayıcı bulunur.

Avantajları:

  • En hızlı sorgu performansı (API ek yükü yok)
  • Özel modüller dahil her tablo ve alana tam erişim
  • Veritabanı düzeyinde birleştirme ve toplamalarla karmaşık SQL sorgularını destekler
  • Artımlı yenilemeyi etkinleştirir (bir tarihsaat sütunu gerektirir)
  • Odoo lisansı veya API hız sınırı yok

Kurulum adımları:

  1. Power BI Desktop'ı açın ve Veri Al'ı, ardından PostgreSQL veritabanı'nı seçin
  2. Odoo sunucunuzun ana bilgisayar adını ve veritabanı adını girin (genellikle Odoo örnek adı)
  3. Salt okunur bir veritabanı kullanıcısı kullanın (asla Odoo yönetici hesabını kullanmayın)
  4. Çoğu senaryo için İçe Aktarma modunu veya gerçek zamanlı ihtiyaçlar için DirectQuery'yi seçin.
  5. Tablo listesinde gezinin veya özel bir SQL sorgusu kullanın

Bağlantı dizesi parametreleri:

ParametreTipik Değer
Sunucusizin-odoo-sunucunuz.com:5432
Veritabanıodoo_prodüksiyon
Kullanıcı adıpowerbi_readonly
Şifre(kimlik bilgilerinde saklanır)
SSL ModuGerektir (üretim için)
Komut Zaman Aşımı600 (saniye, büyük sorgular için)

PostgreSQL'de salt okunur bir kullanıcı oluşturma:

CREATE ROLE powerbi_readonly WITH LOGIN PASSWORD 'secure_password';
GRANT CONNECT ON DATABASE odoo_production TO powerbi_readonly;
GRANT USAGE ON SCHEMA public TO powerbi_readonly;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO powerbi_readonly;
ALTER DEFAULT PRIVILEGES IN SCHEMA public
  GRANT SELECT ON TABLES TO powerbi_readonly;

Bu yaklaşım, Power BI'ın üretim veritabanınıza herhangi bir yazma erişimi olmadan mevcut ve gelecekteki tüm tabloları okuyabilmesini sağlar.

Yöntem 2: Odoo Harici API (XML-RPC / JSON-RPC)

Odoo, verileri okumak ve yazmak için tam bir API sunar. Power BI bunu özel bağlayıcılar veya Python betikleri aracılığıyla kullanabilir.

Avantajları:

  • Odoo.sh ve Odoo Online ile çalışır (doğrudan veritabanı erişimi gerekmez)
  • Odoo'nun erişim kontrol kurallarına ve kayıt kurallarına saygı duyar
  • Veritabanı portunu harici olarak açığa çıkarmaya gerek yok

Dezavantajları:

  • Doğrudan veritabanı sorgularından önemli ölçüde daha yavaş (büyük veri kümeleri için 10-100x)
  • API oranı limitleri yüksek hacimli ekstraktları kısıtlayabilir
  • Özel bir Power Query işlevi veya ara ETL adımı gerektirir
  • Sayfalandırma karmaşıklığı artırır

Odoo'nun JSON-RPC uç noktası için tipik bir Power Query M işlevi, kimlik doğrulamayla birlikte https://your-odoo.com/jsonrpc öğesini çağırır ve ardından sonuçları sayfalara ayırır. Bu işe yarar ancak 50.000'den fazla kaydın bulunduğu tablolar için pratik değildir.

Yöntem 3: Odoo Bağlayıcı Modülleri aracılığıyla OData Uç Noktaları

Çeşitli Odoo topluluk modülleri, Power BI'ın yerel olarak kullanabileceği OData akışlarını kullanıma sunar. Power BI'daki OData bağlayıcısı, kimlik doğrulamayı ve sayfalandırmayı anında destekler.

Bu yöntem ne zaman kullanılmalı:

  • Veritabanı erişiminin kısıtlandığı Odoo Online / Odoo.sh dağıtımları
  • Verilerde Odoo'nun iş mantığını (hesaplanan alanlar, erişim kuralları) gerektiren senaryolar
  • Daha küçük veri kümeleri (varlık başına 100.000'den az kayıt)

Çoğu kurumsal dağıtım için Yöntem 1 (doğrudan PostgreSQL) şiddetle tavsiye edilir. Performans farkı büyüktür ve SQL sorgularının esnekliği, verileri kaynakta şekillendirmenize olanak tanır.


Power BI için Temel Odoo Tabloları

Odoo'nun PostgreSQL veritabanı yüzlerce tablo içerir. Temel tabloları ve bunların ilişkilerini anlamak, etkili Power BI modelleri oluşturmak için kritik öneme sahiptir. Yönetici kontrol panellerinin yüzde 80'ini destekleyen tablolar aşağıdadır.

Satış Modülü Tabloları

TabloAmaçAnahtar Alanlar
sale_orderSatış siparişleri (başlıklar)kimlik, ad, iş ortağı_kimliği, sipariş_tarihi, toplam_miktar, eyalet, şirket_kimliği, kullanıcı_kimliği
sale_order_lineSatış siparişi satır öğelerisipariş_kimliği, ürün_kimliği, ürün_uom_adet, fiyat_birimi, fiyat_alttoplam, indirim
res_partnerMüşteriler ve satıcılarkimlik, ad, e-posta, ülke_kimliği, kategori_kimliği, müşteri_sıralaması, tedarikçi_sıralaması
ürün_ürünÜrün çeşitlerikimlik, varsayılan_kod, liste_fiyatı, standart_fiyat, kategori_kimliği, aktif
ürün_şablonuÜrün şablonlarıkimlik, ad, tür, indirim_tamam, satınalma_tamam

Önemli ilişkiler: sale_order.partner_id, res_partner.id'ye bağlantılar. sale_order_line.product_id,product_product.id'ye bağlanır. product_product.product_tmpl_id,product_template.id'ye bağlanır.

Tipik bir satış analitiği sorgusu, denormalize edilmiş bir olgu tablosu oluşturmak için bu tabloları birleştirir:

SELECT
  so.id AS order_id,
  so.name AS order_number,
  so.date_order,
  so.state,
  rp.name AS customer_name,
  rp.country_id,
  rc.name AS country_name,
  sol.product_id,
  pt.name AS product_name,
  pc.name AS product_category,
  sol.product_uom_qty AS quantity,
  sol.price_unit,
  sol.discount,
  sol.price_subtotal AS line_total,
  so.amount_total AS order_total,
  ru.login AS salesperson
FROM sale_order so
JOIN sale_order_line sol ON sol.order_id = so.id
JOIN res_partner rp ON so.partner_id = rp.id
LEFT JOIN res_country rc ON rp.country_id = rc.id
JOIN product_product pp ON sol.product_id = pp.id
JOIN product_template pt ON pp.product_tmpl_id = pt.id
LEFT JOIN product_category pc ON pt.categ_id = pc.id
LEFT JOIN res_users ru ON so.user_id = ru.id
WHERE so.state IN ('sale', 'done')
ORDER BY so.date_order DESC;

Muhasebe Modül Tabloları

TabloAmaçAnahtar Alanlar
account_moveFaturalar, faturalar, yevmiye kayıtlarıkimlik, ad, taşıma_türü, iş ortağı_kimliği, fatura_tarihi, miktar_toplam, durum, ödeme_durumu
account_move_lineGünlük girişi satırlarımove_id, account_id, borç, kredi, bakiye, tarih, partner_id
account_accountHesap planıkimlik, kod, ad, hesap_türü
account_paymentÖdemelerkimlik, partner_id, tutar, tarih, durum, ödeme_türü
account_journalGünlükler (banka, satış vb.)kimlik, ad, tür, kod

Kritik ayrım: Odoo'da account_move, faturaları (move_type = 'out_invoice'), satıcı faturalarını ('in_invoice'), kredi notlarını ('out_refund', 'in_refund') ve yevmiye girişlerini ('giriş') saklar. Power BI sorgularınızda her zaman move_type'a göre filtreleyin.

account_move'daki payment_state alanı size bir faturanın 'ödenmemiş', 'ödemeli', 'ödenmiş', 'kısmi' veya 'geri çevrilmiş' olup olmadığını belirtir. Bu, alacak hesaplarının yaşlandırma kontrol panelleri için gereklidir.

Envanter Modül Tabloları

TabloAmaçAnahtar Alanlar
stok_toplamaTeslimat siparişleri, makbuzlar, dahili transferlerkimlik, ad, partner_id, planlanan_tarih, tarih_done, durum, picking_type_id
stok_moveBireysel ürün hareketleripicking_id, ürün_id, ürün_uom_qty, miktar, durum, tarih
stok_quantMevcut mevcut envanterürün_kimliği, konum_kimliği, miktar, ayrılmış_miktar
stok_konumuDepolar, bölgeler, silolarkimlik, ad, kullanım, konum_kimliği (ana)
stok_depoDepo tanımlarıkimlik, ad, kod, partner_id

Gerçek zamanlı envanter: Stock_quant her zaman envanterin mevcut durumunu yansıtır. Geçmiş envanter analizi için, stok_move'u tarih filtreleriyle sorgulamanız ve cari bakiyeleri hesaplamanız gerekir.

Üretim Modül Tabloları

TabloAmaçAnahtar Alanlar
mrp_prodüksiyonÜretim siparişlerikimlik, ad, ürün_kimliği, ürün_adet, tarih_başlangıç, tarih_bitiş, durum
mrp_bomMalzeme listelerikimlik, ürün_tmpl_id, ürün_miktarı, tür
mrp_bom_lineMalzeme Listesi bileşenleribom_id, ürün_id, ürün_adet
mrp_workorderİş emri işlemleriüretim_kimliği, çalışma merkezi_kimliği, süre, durum
mrp_workcenterİş merkezleri/makinelerkimlik, ad, kapasite, time_efficiency

OEE hesaplaması: Genel Ekipman Verimliliği, planlanan süreyi fiili süreyle karşılaştırarak, kesinti nedenlerini analiz ederek ve kalite ölçümlerini takip ederek mrp_workorder kayıtlarından elde edilebilir.

İnsan Kaynakları Tabloları

TabloAmaçAnahtar Alanlar
hr_çalışanÇalışan kayıtlarıkimlik, ad, departman_kimliği, iş_kimliği, iş_e-postası, etkin
hr_departmentBölümlerkimlik, ad, ebeveyn_kimliği, yönetici_kimliği
hr_sözleşmeİş sözleşmeleriçalışan_kimliği, ücret, başlangıç_tarihi, tarih_bitiş, eyalet
hr_leaveMola talepleriçalışan_kimliği, tatil_durum_kimliği, başlangıç ​​tarihi, bitiş tarihi, eyalet
hr_attendanceSaat giriş/çıkış kayıtlarıçalışan_kimliği, giriş_çıkış, çıkış_saati, çalışılan_saatler

Power BI Veri Modelini Oluşturma

Yıldız Şeması Tasarımı

Odoo analitiği için en etkili veri modeli yıldız şeması modelini takip eder. Bilgi tabloları (satış siparişleri, faturalar, stok hareketleri, üretim siparişleri) merkezde yer alır. Boyut tabloları (ürünler, müşteriler, tarihler, çalışanlar, konumlar) bunları çevreler.

Önerilen bilgi tabloları:

  1. Fact_Sales — sale_order + sale_order_line'dan (tane: sipariş satırı başına bir satır)
  2. Fact_Invoices — account_move + account_move_line'dan (tahıl: günlük satırı başına bir satır)
  3. Fact_Inventory — Stock_move'dan (tahıl: stok hareketi başına bir satır)
  4. Fact_Production — mrp_prodüksiyon + mrp_workorder'dan (tahıl: iş emri başına bir satır)
  5. Fact_Attendance — hr_attendance'den (tane: saat giriş/çıkış çifti başına bir satır)

Paylaşılan boyut tabloları:

  1. Dim_Date — Power BI'da oluşturulan bir takvim tablosu (zaman zekası için gereklidir)
  2. Dim_Customer — res_partner'dan (customer_rank > 0'a kadar filtrelendi)
  3. Dim_Product — ürün_ürün + ürün_template + ürün_kategorisinden
  4. Dim_Employee — hr_employee + hr_department + hr_job'dan
  5. Dim_Location — stok_konumu + stok_warehouse'dan
  6. Dim_Company — res_company'den (çok şirketli Odoo dağıtımları için)

Tarih Boyutunu Oluşturma

Odoo'nun özel bir tarih boyutu tablosu yoktur. DAX'ı kullanarak Power BI'da bir tane oluşturmanız gerekir:

Dim_Date =
ADDCOLUMNS(
    CALENDAR(DATE(2020, 1, 1), DATE(2030, 12, 31)),
    "Year", YEAR([Date]),
    "Quarter", "Q" & QUARTER([Date]),
    "Month", FORMAT([Date], "MMMM"),
    "MonthNumber", MONTH([Date]),
    "WeekNumber", WEEKNUM([Date]),
    "DayOfWeek", FORMAT([Date], "dddd"),
    "FiscalYear", IF(MONTH([Date]) >= 4, YEAR([Date]), YEAR([Date]) - 1),
    "FiscalQuarter", "FQ" & SWITCH(TRUE(),
        MONTH([Date]) >= 10, 3,
        MONTH([Date]) >= 7, 2,
        MONTH([Date]) >= 4, 1,
        4
    ),
    "IsWeekend", IF(WEEKDAY([Date], 2) > 5, TRUE(), FALSE()),
    "YearMonth", FORMAT([Date], "YYYY-MM")
)

Bu tabloyu Power BI'da bir tarih tablosu olarak işaretleyin ve her olgu tablosunun tarih sütunundan Dim_Date[Date] ile ilişkiler oluşturun. Mali yılın başlangıç ​​ayını kuruluşunuza uyacak şekilde ayarlayın.

Odoo'nun Çok Şirketli Yapısının Yönetilmesi

Odoo, tek bir veritabanının birden fazla tüzel kişiye hizmet verdiği çok şirketli yapılandırmaları destekler. Her işlem tablosu bir company_id yabancı anahtar içerir. Power BI'da res_company'den bir Dim_Company tablosu oluşturun ve her olgu tablosuyla ilişkiler kurun.

Satır düzeyinde güvenlik için, oturum açan kullanıcının şirket atamasına göre Dim_Company'yi filtrelemek üzere Power BI'ın RLS özelliğini kullanın. Bu, Odoo'nun BI katmanındaki çok şirketli erişim kontrollerini yansıtır.


Kontrol Paneli Tarifleri: Satış Analitiği

Yönetici Satış Kontrol Paneli

Bu kontrol paneli her CEO'nun sorduğu beş soruyu yanıtlıyor: Bu ay gelir ne kadar? Çeyrek için doğru yolda mıyız? Hangi ürünler kazanıyor? Hangi satış görevlileri performans sergiliyor? Müşterilerimiz nerede?

Oluşturmaya yönelik önlemler:

Total Revenue = SUM(Fact_Sales[line_total])

Revenue MTD =
TOTALMTD([Total Revenue], Dim_Date[Date])

Revenue QTD =
TOTALQTD([Total Revenue], Dim_Date[Date])

Revenue YTD =
TOTALYTD([Total Revenue], Dim_Date[Date])

Revenue PY =
CALCULATE([Total Revenue], SAMEPERIODLASTYEAR(Dim_Date[Date]))

Revenue Growth % =
DIVIDE([Total Revenue] - [Revenue PY], [Revenue PY], 0)

Average Order Value =
DIVIDE([Total Revenue], DISTINCTCOUNT(Fact_Sales[order_id]))

Orders Count =
DISTINCTCOUNT(Fact_Sales[order_id])

Görsel düzen:

    1. Sıra: Dört KPI kartı (Gelir MTD, Gelir QTD, Gelir YTD, Büyüme %'si)
    1. Satır: Çizgi grafik (aylık gelir, cari yıl ile önceki yılın karşılaştırması) ve çubuk grafik (ürün kategorisine göre gelir)
    1. Satır: Harita görseli (müşteri ülkesine göre gelir) ve tablo (gelir, sipariş sayısı, ortalama anlaşma boyutuyla ilk 10 satış elemanı)
    1. Satır: Şelale grafiği (gelir köprüsü: yeni müşteriler, mevcut ve kaybedilen müşteriler) ve halka grafiği (satış kanalına göre gelir)

Satış Hattı Analizi

Odoo CRM'yi Satış modülünün yanında kullanıyorsanız, satış hattı kontrol panelleri oluşturmak için crm_lead tablosunu bağlayın:

TabloAmaçAnahtar Alanlar
crm_leadFırsatlar ve potansiyel müşterilerkimlik, ad, iş ortağı_kimliği, beklenen_gelir, olasılık, aşama_kimliği, kullanıcı_kimliği, tarih_son tarih
crm_stageBoru hattı aşamalarıkimlik, ad, sıra

Boru hattı önlemleri:

Pipeline Value =
SUMX(
    FILTER(Fact_Pipeline, Fact_Pipeline[active] = TRUE()),
    Fact_Pipeline[expected_revenue] * Fact_Pipeline[probability] / 100
)

Win Rate =
DIVIDE(
    CALCULATE(COUNTROWS(Fact_Pipeline), Fact_Pipeline[stage_name] = "Won"),
    CALCULATE(COUNTROWS(Fact_Pipeline),
        OR(Fact_Pipeline[stage_name] = "Won", Fact_Pipeline[stage_name] = "Lost")
    )
)

Average Sales Cycle Days =
AVERAGEX(
    FILTER(Fact_Pipeline, Fact_Pipeline[stage_name] = "Won"),
    DATEDIFF(Fact_Pipeline[create_date], Fact_Pipeline[date_closed], DAY)
)

Kontrol Paneli Tarifleri: Envanter ve Tedarik Zinciri

Envanter Durumu Kontrol Paneli

Bu kontrol paneli stok seviyelerini, ciro oranlarını ve tedarik zinciri performansını izler.

Temel önlemler:

Inventory Value =
SUMX(Fact_Inventory_Current, Fact_Inventory_Current[quantity] * RELATED(Dim_Product[standard_price]))

Inventory Turnover =
DIVIDE(
    [COGS Trailing 12 Months],
    [Average Inventory Value]
)

Days of Inventory =
DIVIDE(365, [Inventory Turnover])

Stockout Rate =
DIVIDE(
    CALCULATE(COUNTROWS(Dim_Product), Dim_Product[on_hand_qty] <= 0, Dim_Product[active] = TRUE()),
    CALCULATE(COUNTROWS(Dim_Product), Dim_Product[active] = TRUE())
)

Reorder Point Items =
CALCULATE(
    COUNTROWS(Dim_Product),
    FILTER(Dim_Product, Dim_Product[on_hand_qty] <= Dim_Product[reorder_min])
)

Görseller:

  • KPI kartları: Toplam stok değeri, ciro oranı, stokta kalma oranı, yeniden sipariş noktasının altındaki ürünler
  • Dağılım grafiği: Her ürün ciro oranı (x ekseni) ve marj (y ekseni) ile çizilir ve gelir katkısına göre boyutlandırılır --- bu ABC-XYZ analiz görselidir
  • Çubuk grafik: Envanter değerine göre ilk 20 ürün (yavaş hareket eden stoklara bağlı sermayeyi tanımlar)
  • Tablo: Mevcut stok, günlük talep ve tahmini stok tükenme tarihiyle birlikte yeniden sipariş noktasının altındaki ürünler

Teslimat Performansı

stock_picking'dan zamanında teslimatı ölçün:

On-Time Delivery Rate =
DIVIDE(
    CALCULATE(
        COUNTROWS(Fact_Deliveries),
        Fact_Deliveries[date_done] <= Fact_Deliveries[scheduled_date]
    ),
    COUNTROWS(Fact_Deliveries)
)

Average Lead Time Days =
AVERAGEX(
    Fact_Deliveries,
    DATEDIFF(Fact_Deliveries[create_date], Fact_Deliveries[date_done], DAY)
)

Kontrol Paneli Tarifleri: Üretim

Üretim Performansı Kontrol Paneli

Odoo Manufacturing çalıştıran üreticiler için mrp_prodüksiyon ve mrp_workorder tabloları zengin operasyonel veriler sağlar.

OEE (Genel Ekipman Verimliliği) hesaplaması:

Availability =
DIVIDE(
    [Actual Production Time],
    [Planned Production Time]
)

Performance Rate =
DIVIDE(
    [Ideal Cycle Time] * [Total Units Produced],
    [Actual Production Time]
)

Quality Rate =
DIVIDE(
    [Good Units],
    [Total Units Produced]
)

OEE = [Availability] * [Performance Rate] * [Quality Rate]

Görseller:

  • Gösterge grafikleri: OEE, Kullanılabilirlik, Performans, Kalite (her biri hedef eşik değerlerine sahiptir: %85'in üzerinde yeşil, %60-85 sarı, %60'ın altında kırmızı)
  • Çizgi grafiği: Kontrol limitleriyle birlikte haftaya göre OEE eğilimi
  • Kümelenmiş çubuk grafik: İş merkezine göre OEE, hangi makinelerin düşük performans gösterdiğini ortaya koyuyor
  • Tablo: Planlanan ve gerçekleşen süreyi, sapmayı ve hurda miktarını içeren üretim siparişleri

İş Merkezi Kullanımı

Utilization Rate =
DIVIDE(
    SUM(Fact_WorkOrders[duration_minutes]),
    [Available Minutes Per Period]
)

Downtime Hours =
DIVIDE(
    [Available Minutes Per Period] - SUM(Fact_WorkOrders[duration_minutes]),
    60
)

Bu kontrol paneli, üretim yöneticilerinin darboğazlı iş merkezlerini belirlemesine ve planlamayı optimize etmesine yardımcı olur. Odoo'nun planlama modülü verileriyle birleştirildiğinde, maksimum kullanıma ne zaman ulaşacağınızı tahmin eden kapasite planlama modelleri oluşturabilirsiniz.


Kontrol Paneli Tarifleri: İK ve İşgücü

İşgücü Analitiği Kontrol Paneli

Odoo verilerinden oluşturulan İK kontrol panelleri, çoğu HRIS sisteminin yüksek fiyatlar talep ettiği bilgiler sağlar.

Çalışan sayısı ve ciro ölçümleri:

Active Employees =
CALCULATE(
    COUNTROWS(Dim_Employee),
    Dim_Employee[active] = TRUE()
)

Attrition Rate =
DIVIDE(
    CALCULATE(
        COUNTROWS(Dim_Employee),
        Dim_Employee[departure_date] <> BLANK(),
        YEAR(Dim_Employee[departure_date]) = YEAR(TODAY())
    ),
    [Average Headcount],
    0
)

Average Tenure Years =
AVERAGEX(
    FILTER(Dim_Employee, Dim_Employee[active] = TRUE()),
    DATEDIFF(Dim_Employee[contract_start_date], TODAY(), DAY) / 365.25
)

Cost Per Employee =
DIVIDE(
    SUM(Fact_Payroll[total_cost]),
    [Active Employees]
)

hr_leave'deki devamsızlık analizi:

Absence Rate =
DIVIDE(
    SUM(Fact_Leaves[number_of_days]),
    [Working Days In Period] * [Active Employees]
)

Bradford Factor =
SUMX(
    Dim_Employee,
    VAR AbsenceSpells = CALCULATE(COUNTROWS(Fact_Leaves), Fact_Leaves[state] = "validate")
    VAR TotalDays = CALCULATE(SUM(Fact_Leaves[number_of_days]), Fact_Leaves[state] = "validate")
    RETURN AbsenceSpells * AbsenceSpells * TotalDays
)

hr_attendance'tan katılım analizi:

Average Daily Hours =
AVERAGEX(
    VALUES(Dim_Date[Date]),
    CALCULATE(SUM(Fact_Attendance[worked_hours]))
)

Overtime Hours =
SUMX(
    Fact_Attendance,
    IF(Fact_Attendance[worked_hours] > 8, Fact_Attendance[worked_hours] - 8, 0)
)

Artımlı Yenileme Yapılandırması

Milyonlarca kayıt içeren Odoo veritabanları için tam veri yenilemeleri pratik değildir. Power BI'ın artımlı yenileme özelliği yalnızca yeni ve değiştirilmiş kayıtları yükleyerek yenileme sürelerini saatlerden dakikalara indirir.

Önkoşullar

  • Power BI Pro veya Premium lisansı
  • Her tablonun güvenilir bir tarihsaat sütunu olması gerekir (Odoo'da write_date idealdir --- bir kayıt değiştirildiğinde güncellenir)
  • Veri kaynağı sorgu katlamayı desteklemelidir (PostgreSQL destekler)

Yapılandırma Adımları

1. Adım: RangeStart ve RangeEnd parametrelerini oluşturun

Power Query'de DateTime türünde iki parametre oluşturun:

  • RangeStart: varsayılan değer = 1/1/2020 12:00:00
  • Aralık Sonu: varsayılan değer = 31.12.2030 12:00:00

2. Adım: Tabloları parametrelere göre filtreleyin

Her olgu tablosu için Power Query'ye bir filtre adımı ekleyin:

= Table.SelectRows(Source, each [write_date] >= RangeStart and [write_date] < RangeEnd)

Bu filtrenin veritabanına katlanması gerekir (oluşturulan SQL'de görünmelidir). Adımı sağ tıklayıp "Yerel Sorguyu Görüntüle"yi seçerek doğrulayın.

3. Adım: Artımlı yenileme politikasını tanımlayın

Modeldeki tabloya sağ tıklayın, Artımlı Yenileme'yi seçin ve yapılandırın:

AyarÖnerilen Değer
Satırları sonuncuda saklayın3 yıl
Sondaki satırları yenile7 gün
Veri değişikliklerini algılawrite_date sütunu
Yalnızca tamamlanmış dönemleri yenileEtkin

Bu yapılandırma üç yıllık geçmişi saklar ancak her zamanlanmış yenileme sırasında yalnızca son yedi günü yeniler. Odoo'nun write_date sütunu, bir kayıttaki herhangi bir alan değiştiğinde otomatik olarak güncellenir, bu da onu güvenilir bir değişiklik algılama sütunu haline getirir.

Performans Etkisi

SenaryoTam YenilemeArtımlı Yenileme
1 milyon satış siparişi satırı12 dakika45 saniye
5 milyon günlük girişi38 dakika2 dakika
10 milyon hisse senedi hareketi65 dakika4 dakika

Performans artışı, özellikle yüksek hacimli işlem verileri üreten üretim ve envanter veri kümeleri için çarpıcı düzeydedir.


Gelişmiş: Çok Şirketli ve Çoklu Para Birimi

Çok Şirketli Odoo Dağıtımlarını Yönetme

Birçok Odoo Enterprise dağıtımı, tek bir veritabanından birden fazla tüzel kişiye hizmet eder. Her işlem kaydında bir company_id alanı bulunur. Power BI'da:

  1. res_company'den bir Dim_Company tablosu oluşturun
  2. Her bir bilgi tablosunun şirket_id'sinden Dim_Company'ye kadar ilişkiler kurun
  3. Her kontrol paneli sayfasına bir şirket dilimleyici ekleyin
  4. Her kullanıcının yalnızca kendi şirketinin verilerini görebilmesi için satır düzeyinde güvenlik uygulayın

Para Birimi Dönüştürme

Odoo, tutarları şirketin temel para biriminde saklar. Çoklu para birimi raporlaması için res_currency_rate tablosuna katılın:

SELECT
  so.id,
  so.amount_total AS amount_local,
  so.amount_total / COALESCE(
    (SELECT rate FROM res_currency_rate
     WHERE currency_id = so.currency_id
     AND name <= so.date_order::date
     ORDER BY name DESC LIMIT 1),
    1
  ) AS amount_usd
FROM sale_order so;

Alternatif olarak, Power BI'da günlük döviz kurlarını içeren bir Dim_Currency_Rate tablosu bulundurun ve rapor zamanında dönüştürmek için DAX'ı kullanın. Bu yaklaşım, olası senaryolar için daha esnektir (örneğin, "geçen yılın döviz kurlarına göre gelir nasıl olurdu?").


Odoo Online için OData ve REST API Entegrasyonu

Doğrudan PostgreSQL erişiminin bulunmadığı Odoo Online veya Odoo.sh kullanan kuruluşlar için alternatif bağlantı yöntemleri mevcuttur.

Odoo'nun JSON-RPC API'sini kullanma

Odoo, /jsonrpc adresinde bir JSON-RPC uç noktasını (veya /xmlrpc/2 adresindeki eski XML-RPC'yi) kullanıma sunar. Verileri almak için search_read yöntemini çağırabilirsiniz:

{
  "jsonrpc": "2.0",
  "method": "call",
  "params": {
    "service": "object",
    "method": "execute_kw",
    "args": [
      "your_database",
      2,
      "your_api_key",
      "sale.order",
      "search_read",
      [[["state", "in", ["sale", "done"]]]],
      {"fields": ["name", "partner_id", "date_order", "amount_total", "state"],
       "limit": 1000, "offset": 0}
    ]
  }
}

Power BI'da bunu, sayfalandırma mantığıyla Web.Contents kullanarak özel bir Power Query işlevi olarak uygularsınız. Buradaki zorluk performanstır: Her API çağrısı en fazla birkaç bin kayıt döndürür ve büyük veri kümeleri için birden fazla gidiş dönüşe ihtiyacınız vardır.

Topluluk OData Modülleri

Çeşitli Odoo topluluk modülleri OData uç noktaları ekler:

  • Odoo için BI Konektörü — yapılandırılabilir OData akışlarını kullanıma sunar
  • Odoo-Power BI Bağlayıcı — ortak modüller için önceden oluşturulmuş veri modelleri

Bu modüller entegrasyonu basitleştirir ancak Odoo örneğinize bağımlılık ekler. Kolaylığın bir topluluk modülünün bakım yükünden daha ağır basıp basmadığını değerlendirin.

Hibrit Yaklaşım: Planlanmış Veri Dışa Aktarımı

Pragmatik bir orta yol, Odoo'dan bir hazırlama veritabanına veya Azure SQL'e gecelik veri aktarımı planlamaktır. Bir Odoo zamanlanmış eylemi, anahtar tabloları CSV'ye aktaran veya verileri API aracılığıyla bir Azure SQL veritabanına aktaran bir Python betiğini çalıştırır. Power BI daha sonra tam sorgu katlama desteğiyle hazırlama veritabanına bağlanır.

Bu yaklaşım, Odoo'nun üretim veritabanını Power BI sorgularına maruz bırakmadan neredeyse günlük veri tazeliği isteyen kuruluşlar için işe yarar.


Gerçek Dünyadan KPI Örnekleri

ECOSIRE müşterilerinin Odoo'yu Power BI'a bağladıktan sonra sıklıkla oluşturduğu yirmi KPI'yi departmana göre organize ederek burada bulabilirsiniz.

Finans KPI'ları

  1. Ödenmemiş Satış Günleri (DSO) — Account_move'dan ödemenin tahsil edileceği ortalama gün sayısı (fatura tarihi - ödeme tarihi)
  2. Brüt Marj % — Satış_sipariş_satırından gelir eksi SMM'nin gelire bölünmesi (price_subtotal vs ürün standard_price)
  3. Nakit Dönüşüm Döngüsü — DSO + Ödenmemiş Envanter Günleri - Ödenmemiş Ödenmemiş Gün Sayısı
  4. Bütçe ve Gerçek Fark — Bir bütçe tablosu gerektirir (Odoo'da account_budget veya manuel yükleme)
  5. Çalışan Başına Gelir — Toplam gelirin aktif personel sayısına bölümü

Satış KPI'ları

  1. Müşteri Edinme Maliyeti — Pazarlama harcamasının edinilen yeni müşterilere bölünmesi (manuel pazarlama maliyeti girişi gerektirir)
  2. Müşteri Yaşam Boyu Değeri — Müşteri başına ortalama gelir çarpı ortalama ilişki süresi
  3. Satış Döngüsü Uzunluğu — Fırsatın yaratılmasından kazanılmasına kadar geçen gün sayısı (crm_lead)
  4. Tekliften Siparişe Dönüşüm Oranı — Onaylanan siparişlerin toplam tekliflere bölümü
  5. Ortalama İndirim % — sale_order_line indirim alanından

Operasyon KPI'ları

  1. Mükemmel Sipariş Oranı — Siparişler zamanında, eksiksiz ve doğru belgelerle teslim edilir
  2. Envanter Doğruluğu — Gerçek sayı ile sistem sayımı (stock_quant ayarlamalarından)
  3. Tedarikçi Teslim Süresi Güvenilirliği — Gerçek teslim tarihi ile satın alma siparişlerinden beklenen tarih karşılaştırması
  4. Depo Alanı Kullanımı — Kullanılan konumların toplam konumlara bölümü
  5. İade Oranı — Toplam satışların yüzdesi olarak kredi notları / geri ödemeler

Üretim KPI'ları

  1. İlk Geçiş Verimi — Yeniden işleme gerekmeden kalite kontrolünden geçen birimlerin toplam birimlere bölümü
  2. Programa Uyum — Planlanan tarihte tamamlanan üretim siparişleri
  3. Malzeme Atığı % — BOM gerekliliklerinin ötesinde tüketilen ham madde
  4. İş Merkezi Kullanımı — Gerçek üretken saatler ile mevcut saatlerin karşılaştırması
  5. Arızalar Arasındaki Ortalama Süre (MTBF) — Ekipman arızaları arasındaki ortalama çalışma süresi

Bu KPI'ların her biri belirli tablo birleştirmelerini ve DAX mantığını gerektirir. ECOSIRE'ın Power BI uygulama hizmeti, yirmisinin tümü için önceden oluşturulmuş ölçümler içeren standart bir KPI kitaplığı içerir.


Performans Optimizasyonu

Sorgu Katlama

Sorgu katlama, Odoo + Power BI entegrasyonları için en önemli performans konseptidir. Power Query bir dönüşümü "katladığında" adımı SQL'e çevirir ve bunu Power BI motoru yerine PostgreSQL sunucusunda yürütür.

Katlanan adımlar:

  • Table.SelectRows (WHERE yan tümcesi)
  • Table.SelectColumns (belirli sütunları SEÇİN)
  • Tablo.Sırala (SİPARİŞ BY)
  • Tablo.Grup (GROUP BY)
  • Table.Join (KATIL)
  • Table.FirstN (LIMIT)

Katlanmayı bozan adımlar:

  • Özel M işlevlerine sahip Table.AddColumn
  • Tablo.Tampon
  • Table.Pivot / Table.Unpivot (çoğu durumda)
  • Katlanamayan bir önceki adıma atıfta bulunan herhangi bir adım

En iyi uygulama: Power Query katlamaya güvenmek yerine özel SQL sorguları yazın. Bu size PostgreSQL'e gönderilen SQL üzerinde tam kontrol sağlar ve katlama belirsizliğini ortadan kaldırır.

İçe Aktarma ve DirectQuery

Faktörİçe Aktarma ModuDirectQuery
PerformansHızlı (veriler yerel olarak önbelleğe alınır)Daha yavaş (sorgular Odoo DB'ye canlı olarak ulaştı)
Veri güncelliğiPlanlanmış yenileme (en az 30 dakika)Gerçek zamanlı
Model boyutuBellekle sınırlıdır (1 GB ücretsiz, 10-100 GB Premium)Boyut sınırı yok
DAX desteğiTamSınırlı (bazı işlevler mevcut değil)
Odoo'ya EtkisiYenilemeden sonra yokHer rapor etkileşimi DB'yi sorgular
ÖneriÇoğu senaryo için kullanınYalnızca gerçek zamanlılığın gerekli olduğu durumlarda kullanın

Çoğu Odoo dağıtımı için, artımlı yenilemeli İçe Aktarma modu, performans ve tazelik arasında en iyi dengeyi sağlar. DirectQuery, 30 dakikalık verilerin kabul edilemez olduğu operasyonel kontrol panelleri için ayrılmalıdır (örneğin, canlı bir üretim alanı ekranı).

Kompozit Modeller

Power BI Premium, İçe Aktarma ve DirectQuery tablolarını birleştiren bileşik modelleri destekler. Bu, aşağıdaki durumlarda Odoo entegrasyonları için idealdir:

  • Büyük geçmiş tablolar (satış siparişleri, günlük girişleri) artımlı yenilemeyle İçe Aktarma modunu kullanır
  • Küçük, hızlı değişen tablolar (canlı envanter içinstock_quant) DirectQuery'yi kullanır
  • Tarih boyutu ve diğer boyutlar Çift depolama modunu kullanır

Yaygın Sorunları Giderme

Bağlantı Hataları

"Sunucuya bağlanılamıyor" — PostgreSQL'in doğru bağlantı noktasını (varsayılan 5432) dinlediğini ve güvenlik duvarı kurallarının Power BI ağ geçidinden veya masaüstü IP'nizden gelen bağlantılara izin verdiğini doğrulayın. listen_addresses için postgresql.conf öğesini ve istemci kimlik doğrulama kuralları için pg_hba.conf öğesini işaretleyin.

"SSL bağlantısı gerekli" — Bağlantıya sslmode=require ekleyin. Kendinden imzalı sertifikalar için CA sertifikasını içe aktarmanız veya sslmode=allow ayarlamanız gerekebilir (üretim için önerilmez).

"Tablo için izin reddedildi" — Power BI veritabanı kullanıcısının SELECT ayrıcalıkları yok. GRANT SELECT ON ALL TABLES IN SCHEMA public TO powerbi_readonly; komutunu çalıştırın ve psql'de \dp table_name ile doğrulayın.

Veri Kalitesi Sorunları

Kritik alanlardaki NULL değerler — Odoo birçok alanın boş olmasına izin verir. Hesaplama hatalarını önlemek için SQL sorgularında COALESCE kullanın veya DAX'ta BLANK() işlevini kullanın.

Yinelenen kayıtlar — Odoo'nun ORM'si bazen düzenleme sırasında kayıtların birden çok sürümünü oluşturur. active = true ölçütüne göre filtreleyin ve taslakları ve iptal edilen kayıtları hariç tutmak için doğru durum alanını kullandığınızdan emin olun.

Saat dilimi uyuşmazlıkları — Odoo, zaman damgalarını UTC'de saklar. Power BI varsayılan olarak yerel saat diliminde görüntülenir. Normalleştirmek için PostgreSQL sorgularında AT TIME ZONE veya Power Query'de DateTimeZone.SwitchZone kullanın.

Performans Sorunları

Yavaş yenileme süreleri — Artımlı yenilemeyi etkinleştirin. Tabloların tamamını içe aktarmak yerine özel SQL sorguları kullanın. Etkin olmayan kayıtları, taslak belgeleri ve analiz pencerenizin ötesindeki geçmiş verileri filtreleyin.

10 saniyenin üzerindeki yükleme sürelerini raporlayın — Büyük tablolar (SUMX, çok satırlı FILTER) üzerinde yinelenen karmaşık DAX ölçümlerini kontrol edin. Tekrarlanan hesaplamalardan kaçınmak için değişkenleri kullanın. Verileri SQL görünümlerinde önceden toplamayı düşünün.

Ağ geçidi zaman aşımları — Ağ geçidi veri kaynağı yapılandırmasındaki komut zaman aşımını artırın. Varsayılan 120 saniyedir; Büyük Odoo veritabanları için 600'e ayarlayın.


Güvenlik Hususları

Veritabanı Güvenliği

Power BI'ı asla Odoo yönetici veritabanı kullanıcısını kullanarak Odoo'ya bağlamayın. Daha önce gösterildiği gibi özel bir salt okunur kullanıcı oluşturun. Şu ek önlemleri göz önünde bulundurun:

  • Satır düzeyinde kısıtlamalar: Power BI'ın tüm tablolara erişmesini istemiyorsanız salt okunur kullanıcının erişimini sınırlamak için PostgreSQL CREATE POLICY kullanın (örneğin, hr_payslip hariç)
  • Sütun maskeleme: Hassas sütunları (maaş, SSN, banka ayrıntıları) hariç tutan görünümler oluşturun ve temel tablolar yerine görünümlere Power BI erişimi verin
  • Bağlantı şifrelemesi: Özellikle Power BI ağ geçidi ve Odoo veritabanı farklı ağlarda olduğunda PostgreSQL bağlantıları için her zaman SSL kullanın
  • Denetim günlüğü: Power BI kullanıcısından gelen tüm sorguları izlemek için PostgreSQL pgaudit'ı etkinleştirin

Power BI Güvenliği

  • Power BI'da Odoo'nun çok şirketli erişim kurallarını yansıtan satır düzeyinde güvenlik (RLS) uygulayın
  • Finansal veya İK verilerini içeren veri kümeleri için hassasiyet etiketlerini kullanın
  • Çalışma alanına erişimi yetkili analistlere ve tüketicilere kısıtlayın
  • Veri sızmasını önlemek için hassas raporlarda veri aktarımını devre dışı bırakın

Power BI güvenliğine ilişkin ayrıntılı bilgi için satır düzeyinde güvenlik uygulaması ile ilgili kılavuzumuza bakın.


Hepsini Bir Araya Getirmek: Uygulama Yol Haritası

Aşama 1: Temel (1-2. Hafta)

  1. Odoo veritabanında salt okunur PostgreSQL kullanıcısını oluşturun
  2. Şirket içi veri ağ geçidini kurun ve yapılandırın (Power BI Hizmeti kullanılıyorsa)
  3. Power BI Desktop'ı Odoo veritabanına bağlayın
  4. Beş temel tablo grubunu (satış, muhasebe, envanter, üretim, İK) içe aktarın
  5. Tarih boyutunu oluşturun ve ilişkiler kurun

Aşama 2: Temel Kontrol Panelleri (3-4. Hafta)

  1. Yönetici satış kontrol panelini oluşturun (gelir, büyüme, en iyi ürünler, satış hattı)
  2. Finans kontrol panelini oluşturun (AR yaşlanması, nakit akışı, bütçe farkı)
  3. Envanter kontrol panelini oluşturun (stok seviyeleri, ciro, yeniden sipariş uyarıları)
  4. Tüm olgu tabloları için artımlı yenilemeyi yapılandırın
  5. Power BI Hizmetinde yayımlayın ve zamanlanmış yenilemeyi ayarlayın

3. Aşama: İleri Analitik (5-6. Hafta)

  1. Üretim gösterge tabloları oluşturun (OEE, kullanım, üretim planlama)
  2. İK gösterge tabloları oluşturun (personel sayısı, yıpranma, katılım, devamsızlık)
  3. Çok şirketli veri izolasyonu için satır düzeyinde güvenlik uygulayın
  4. Önemli kontrol panelleri için mobil cihazlar için optimize edilmiş bir düzen oluşturun
  5. Kritik KPI'lar (stoklar, vadesi geçmiş faturalar, üretim gecikmeleri) için veri uyarıları ayarlayın

Aşama 4: Yönetişim ve Ölçek (7-8. Hafta)

  1. Çalışma alanı adlandırma kurallarını ve içerik sertifikasyonunu oluşturun
  2. Uzman kullanıcıları self servis rapor oluşturma konusunda eğitin
  3. Veri modelini ve hesaplama mantığını belgeleyin
  4. Benimsemeyi izlemek için kullanım izlemeyi ayarlayın
  5. Ek veri kaynakları planlayın (pazarlama platformları, e-Ticaret, IoT)

ECOSIRE'ın Power BI + Odoo entegrasyon hizmeti bu yol haritasını takip eder ve genellikle ilk yönetici kontrol panelini iki hafta içinde sunar. Ekibimizin Odoo'nun veri modeli ve Power BI'ın analitik motorundaki ikili uzmanlığı, ilk günden itibaren doğru, performanslı ve yönetilen analizler elde etmenizi sağlar.


SSS

Power BI'ı Odoo Online'a veya yalnızca kendi kendine barındırılan Odoo'ya bağlayabilir miyim?

Her ikisine de bağlanabilirsiniz ancak yöntem farklıdır. Kendi kendine barındırılan Odoo size daha hızlı ve daha esnek olan doğrudan PostgreSQL erişimi sağlar. Odoo Online ve Odoo.sh, veritabanını doğrudan kullanıma sunmaz; dolayısıyla Odoo'nun JSON-RPC API'sini, bir topluluk OData bağlayıcı modülünü veya bir hazırlama veritabanına planlanmış veri aktarımını kullanmanız gerekir. Büyük veri kümelerine sahip Odoo Online için, API tabanlı ayıklamanın 50.000'den fazla kayda sahip tablolar için yavaş olması nedeniyle hazırlama veritabanı yaklaşımı önerilir.

Power BI, Odoo'daki verileri ne sıklıkla yenileyebilir?

Power BI Pro ile günde en fazla 8 yenileme (her 3 saatte bir) zamanlayabilirsiniz. Power BI Premium ile günde en fazla 48 yenileme (her 30 dakikada bir) zamanlayabilirsiniz. Gerçek zamanlı veriler için DirectQuery modunu kullanın ancak her rapor etkileşiminin doğrudan Odoo veritabanınızı sorgulayacağını unutmayın. Artımlı yenileme, her yenilemenin aldığı süreyi azaltarak veritabanını aşırı yüklemeden daha sık yenilemeleri pratik hale getirir.

Power BI sorguları Odoo sistemimizi yavaşlatır mı?

İçeri Aktarma modunu kullanırsanız (önerilir), Power BI sorguları yalnızca zamanlanmış yenilemeler sırasında, genellikle yoğun olmayan saatlerde çalıştırılır. Odoo performansı üzerindeki etkisi minimum düzeydedir. DirectQuery kullanıyorsanız her rapor etkileşimi, Odoo veritabanınızda canlı sorgular oluşturur ve bu da iş saatleri sırasında performansı etkileyebilir. Azaltıcı etkenler arasında okuma kopyası kullanılması, sorgu zaman aşımlarının yapılandırılması ve dizin kullanan verimli SQL sorgularının tasarlanması yer alır.

Entegrasyonu ayarlamak için SQL bilmem gerekiyor mu?

Temel SQL bilgisi faydalıdır ancak kesinlikle gerekli değildir. Power BI'ın Power Query arayüzü, tabloları seçmenize ve filtreleri görsel olarak uygulamanıza olanak tanır. Ancak optimum performans ve veri kalitesi için özel SQL sorgularının kullanılması önemle tavsiye edilir. Tabloları önceden birleştirmenize, gereksiz kayıtları filtrelemenize ve verileri veritabanı düzeyinde şekillendirmenize olanak tanır. Ekibinizin SQL uzmanlığı yoksa ilk kurulum için bir uzmanla çalışmayı ve ardından raporları Power BI'ın görsel araçlarıyla sürdürmeyi düşünün.

ECOSIRE'ın Odoo + Power BI hizmetinin genel Power BI danışmanlığından farkı nedir?

Çoğu Power BI danışmanlık firmasının Power BI konusunda uzmanlığı vardır ancak Odoo'nun veri modeliyle ilgili bilgisi sınırlıdır. Tablo ilişkilerine tersine mühendislik yapmak, Odoo'ya özgü kuralları anlamak (ikili ürün_ürün / ürün_şablon yapısı gibi) ve hangi alanların anlamlı olduğunu bulmak için haftalar harcıyorlar. ECOSIRE, 43'ten fazla Odoo modülü oluşturup dağıtmıştır ve her iki platformda da derin uzmanlığa sahiptir. Önceden oluşturulmuş veri modelleri, 50'den fazla ölçüm içeren standart bir KPI kitaplığı ve write_date sütunlarında artımlı yenileme gibi Odoo'ya özgü optimizasyonlar sağlıyoruz. Bu ikili uzmanlık, Odoo'nun veri modelini sıfırdan öğrenen ekiplerle karşılaştırıldığında uygulama süresini yüzde 40-60 oranında azaltır.

E

Yazan

ECOSIRE Research and Development Team

ECOSIRE'da kurumsal düzeyde dijital ürünler geliştiriyor. Odoo entegrasyonları, e-ticaret otomasyonu ve yapay zeka destekli iş çözümleri hakkında içgörüler paylaşıyor.

Data Analytics & BI serisinden daha fazlası

Power BI Kontrol Paneli Geliştirmeye İlişkin Tam Kılavuz

KPI tasarımı, görsel en iyi uygulamalar, detaya geçiş sayfaları, yer işaretleri, mobil düzenler ve RLS güvenliği ile etkili Power BI panolarını nasıl oluşturacağınızı öğrenin.

Her İşletme Kullanıcısının Bilmesi Gereken DAX Formülleri

Power BI için 20 temel DAX formülünde uzmanlaşın. HESAPLAMA, zaman zekası, RANKX, bağlam geçişi, yineleyiciler ve pratik iş örnekleri.

Power BI Embedded: Uygulamanıza Analitik Ekleme

Power BI analitiğini SaaS uygulamanıza ekleyin. Kimlik doğrulamayı, çok kiracılı RLS'yi, kapasite boyutlandırmayı, JavaScript SDK'sını, özel temaları ve Fabric fiyatlandırmasını kapsar.

Excel'den Power BI'ya Geçiş: Adım Adım Kılavuz

Formül çevirisi, veri modeli oluşturma, Power Query, doğrulama ve hizmetten çıkarma işlemlerini kapsayan Excel'den Power BI'ya geçişe ilişkin eksiksiz kılavuz.

İşletmelerde Yapay Zeka Yatırım Getirisini Ölçmek: Gerçekten İşe Yarayan Bir Çerçeve

Departmanlar arasında doğrudan tasarrufları, üretkenlik kazanımlarını, gelir etkisini ve stratejik değeri kapsayan yapay zeka yatırım getirisini ölçmek için pratik bir çerçeve.

Finansal Raporlama Kontrol Panelleri Oluşturma: KPI'lar, Tasarım ve ERP Entegrasyonu

Kararları yönlendiren finansal raporlama kontrol panelleri tasarlayın. Hangi KPI'lerin izleneceğini, kontrol paneli tasarım ilkelerini ve ERP entegrasyonunun en iyi uygulamalarını öğrenin.

WhatsApp'ta Sohbet Et