Power BI'ı ERP Sisteminize Bağlama

Artımlı yenileme ve veri dönüşümü ile Power BI'ı Odoo, SAP, Dynamics 365, Oracle, NetSuite ve QuickBooks'a bağlamaya yönelik adım adım kılavuz.

E
ECOSIRE Research and Development Team
|17 Mart 202617 dk okuma3.9k Kelime|

Power BI'ı ERP Sisteminize Nasıl Bağlarsınız?

ERP sisteminiz kuruluşunuzdaki en kapsamlı operasyonel verileri içerir. Siparişler, faturalar, envanter hareketleri, satın alma makbuzları, üretim iş emirleri, çalışanların zaman çizelgeleri, müşteri etkileşimleri; işinizi yönlendiren her işlem olayı buraya kaydedilir. Sorun, ERP sistemlerinin işlemleri analiz etmek için değil, kaydetmek için tasarlanmış olmasıdır. Çoğu ERP'de yerleşik olan raporlar, temel operasyonel sorgular için yeterlidir, ancak işlevler arası analize, trend tespitine, tahmine veya birden fazla alandan verileri sentezleyen yönetici düzeyindeki kontrol panellerine ihtiyaç duyduğunuzda başarısız olurlar.

Power BI bu boşluğu dolduruyor. ERP'nizin temel veritabanına veya API'lerine bağlanır, işlem verilerini analitik bir yıldız şemasına dönüştürür ve ERP'nizin yerel raporlarının gösteremediği modelleri ortaya çıkaran etkileşimli kontrol panelleri sunar. Ancak bağlantı yalnızca "Power BI'ı veritabanına takmak" değildir. Her ERP platformunun kendi veri yapısı, erişim yöntemi ve bağlantıyı nasıl kuracağınızı, verileri nasıl modelleyeceğinizi ve zaman içinde entegrasyonu nasıl sürdüreceğinizi etkileyen tuhaflıkları vardır.

Bu kılavuz, Power BI'ı altı ana ERP platformuna bağlamaya yönelik pratik adımları kapsar: Odoo (birincil uzmanlığımız), SAP, Microsoft Dynamics 365, Oracle, NetSuite ve QuickBooks. Mimari kararlara, bağlantı yöntemlerine, veri modellemeye, artımlı yenilemeye ve ham ERP verilerini analitik altına dönüştüren dönüşüm modellerine odaklanıyoruz.

Önemli Çıkarımlar

  • Her ERP entegrasyonu aynı üç aşamalı modeli izler: Bağlan (verilere eriş), Dönüştür (analitik için yeniden şekillendir), Model (yıldız şeması ilişkileri oluştur)
  • Odoo'nun PostgreSQL veritabanı, en doğrudan ve esnek Power BI bağlantısını sağlar --- SQL görünümleri ve gerçekleştirilmiş görünümler, üretim dağıtımları için önerilen yaklaşımdır
  • SAP, SAP HANA veya SAP BW bağlayıcısını gerektirir; SAP ortamlarında doğrudan veritabanı erişimine nadiren izin verilir
  • Dynamics 365, Dataverse aracılığıyla yerel olarak entegre olur ve bu da onu zaten Microsoft ekosisteminde bulunan kuruluşlar için bağlantı kurması en kolay ERP haline getirir
  • Büyük ERP veri kümeleri için artımlı yenileme şarttır --- milyonlarca satırlık işlem tablolarının tamamen yenilenmesi sürdürülemez
  • Operasyonel tabloları doğrudan sorgulamak yerine her zaman ERP ile Power BI arasında bir analitik katman (görünümler, hazırlama tabloları veya veri ambarı) oluşturun
  • Power Query'deki veri dönüşümü, ERP'ye özgü kalıpları ele almalıdır: çoklu para birimi normalleştirmesi, mali takvim hizalaması ve durum kodu çevirisi

Evrensel ERP Entegrasyon Mimarisi

Üç Katmanlı Yaklaşım

Hangi ERP'yi kullanırsanız kullanın entegrasyon mimarisi üç katmanı takip eder:

Katman 1: Çıkarma. Verileri ERP'den Power BI'ya çekin. Bu, veritabanı bağlantıları (PostgreSQL, SQL Server, Oracle), API çağrıları (REST, OData, SOAP) veya ara depolama (veri ambarı, veri gölü, CSV dışa aktarmaları) aracılığıyla gerçekleşir. Çıkarma yöntemi, ERP'nin neyi desteklediğine ve kuruluşunuzun güvenlik politikalarının neye izin verdiğine bağlıdır.

Katman 2: Dönüşüm. Ham ERP verileri işlemseldir ve normalleştirilmiştir; analiz için değil, eklemeler ve güncellemeler için optimize edilmiştir. Analitik şekillere dönüştürün: işlem satırlarını özet tablolarda toplayın, durum kodlarını okunabilir etiketlere dönüştürün, birden fazla para birimindeki tutarları temel para birimine dönüştürün ve tarihleri ​​mali takviminize göre hizalayın. Bu, Power Query'de, SQL görünümlerinde veya özel bir ETL aracında gerçekleşir.

Katman 3: Modelleme. Dönüştürülen verileri, olgu tabloları (satışlar, satın almalar, envanter hareketleri) ve boyut tabloları (müşteriler, ürünler, tarihler, depolar) ile bir yıldız şemasına yapılandırın. İlişkileri yapılandırın, DAX ölçülerini yazın ve rapor yazarlarının kullandığı anlam katmanını oluşturun.

Doğrudan Veritabanı, API ve Veri Ambarı karşılaştırması

Doğrudan veritabanı bağlantısı kurulumu en hızlı olanıdır ve en fazla esnekliği sağlar. ERP'nin veritabanına SQL sorguları yazarsınız ve tam olarak ihtiyacınız olan verileri çekersiniz. Ancak veritabanı erişimi gerektirir (bazı ERP satıcıları bunu önermez veya kısıtlar), sorgular yeterince optimize edilmezse ERP performansını etkileyebilir ve analitiğinizi doğrudan ERP'nin şemasına (yükseltmelerle değişen) bağlar.

API bağlantısı, ERP satıcısının amaçlanan erişim modellerine uyar ve veritabanı performansını etkileme riski taşımaz. Ancak API'ler genellikle doğrudan veritabanı sorgularından daha yavaştır, hız sınırlamaları olabilir ve genellikle verileri Power Query'de daha fazla dönüştürme çalışması gerektiren hiyerarşik biçimlerde (JSON/XML) döndürür.

Veri ambarı en temiz ayrımı sağlar. Bir ETL işlem hattı, verileri her gece ERP'den çıkarır, analitik bir şemaya dönüştürür ve Power BI'ın bağlandığı özel bir veritabanına (Azure SQL, Snowflake, PostgreSQL) yükler. Bu, bakımı en kolay uzun vadeli mimaridir ancak ETL boru hattını inşa etmek için en ön yatırımı gerektirir.

Çoğu kuruluş için, doğrudan veritabanı bağlantılarıyla (veya doğrudan erişimin mümkün olmadığı API'lerle) başlamanızı ve analiz ortamı olgunlaştıkça ve veri kaynaklarının sayısı arttıkça bir veri ambarına geçiş yapmanızı öneririz.


Power BI'ı Odoo'ya bağlama

Odoo Neden Power BI için İdealdir

Odoo, analitik entegrasyonuna yönelik erişilebilirliği açısından çoğu ERP platformundan ayrılıyor. Power BI dostu veritabanlarından biri olan PostgreSQL'de çalışır. Şeması iyi belgelenmiştir, tablo adlandırması tutarlıdır (module_model formatı) ve açık kaynak yapısı, veritabanı erişiminde herhangi bir lisans engelinin olmadığı anlamına gelir. Odoo'yu çalıştırıyorsanız birinci sınıf Power BI panoları oluşturmak için ihtiyacınız olan her şeye zaten sahipsiniz.

ECOSIRE olarak Odoo-to-Power BI entegrasyonu temel yetkinliklerimizden biridir. Satış, satın alma, envanter, üretim, muhasebe, İK, yardım masası ve proje yönetimi gibi Odoo modülünün tamamında analitik çözümler geliştirdik. Burada tanımladığımız modeller, milyonlarca ERP işlemine sahip kuruluşlara hizmet veren uygulamalarda savaşta test edilmiştir.

PostgreSQL Doğrudan Bağlantı

1. Adım: Uzaktan erişim için PostgreSQL'i yapılandırın. Odoo örneğiniz ve Power BI ağ geçidiniz farklı sunuculardaysa PostgreSQL'in uzak bağlantılara izin vermesi gerekir. postgresql.conf'da listen_addresses = '*''i ayarlayın. pg_hba.conf alanına, MD5 kimlik doğrulamasıyla ağ geçidi sunucusunun IP adresine izin veren bir satır ekleyin. Değişiklikleri uygulamak için PostgreSQL'i yeniden başlatın.

2. Adım: Salt okunur bir veritabanı kullanıcısı oluşturun. Power BI'ı asla Odoo'nun ana veritabanı kullanıcısını kullanarak bağlamayın. Özel bir salt okunur kullanıcı oluşturun:

CREATE USER powerbi_reader WITH PASSWORD 'secure_password_here';
GRANT CONNECT ON DATABASE odoo_production TO powerbi_reader;
GRANT USAGE ON SCHEMA public TO powerbi_reader;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO powerbi_reader;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO powerbi_reader;

Bu kullanıcı tüm tabloları okuyabilir ancak verileri değiştiremez, kayıt ekleyemez veya şemayı değiştiremez. ALTER DEFAULT PRIVILEGES satırı, Odoo yükseltmeleri tarafından oluşturulan yeni tabloların otomatik olarak okunabilir olmasını sağlar.

3. Adım: Power BI Desktop'tan bağlanın. Power BI Desktop → Veri Al → PostgreSQL veritabanını açın. Sunucu adresinizi, bağlantı noktanızı (varsayılan 5432) ve veritabanı adınızı girin. powerbi_reader kimlik bilgilerini kullanın. Çoğu tablo için "İçe Aktarma" modunu (belleğe yüklenen veriler) veya canlı sorgular istediğiniz çok büyük tablolar için "DirectQuery"yi seçin.

4. Adım: Özel SQL sorguları yazın. Ham Odoo tablolarını içe aktarmak yerine, verileri veritabanı düzeyinde birleştirmek ve filtrelemek için Gelişmiş seçeneklerdeki özel SQL sorgularını kullanın. Bu, ham tabloları içeri aktarıp bunları Power Query'de birleştirmekten daha verimlidir.

Analytics için Temel Odoo Tabloları

Odoo'nun veritabanı şeması doğrudan modül yapısına eşlenir. En yaygın analitik alanlara ilişkin anahtar tablolar şunlardır:

Satış Analitiği:

Odoo MasasıİçerirAnahtar Sütunlar
KOD0Satış siparişlerikimlik, iş ortağı_kimliği, sipariş_tarihi, toplam_miktar, durum, kullanıcı_kimliği, şirket_kimliği
KOD0Satır öğelerini sipariş edinsipariş_kimliği, ürün_kimliği, ürün_uom_adet, fiyat_birimi, fiyat_alttoplam, indirim
KOD0Müşteriler/satıcılarkimlik, ad, e-posta, ülke_kimliği, sektör_kimliği, şirket_türü
KOD0Ürün anakimlik, ad, liste_fiyatı, standart_fiyat, kategori_kimliği, tür
KOD0Ürün çeşitlerikimlik, ürün_tmpl_id, varsayılan_kod

Envanter Analizi:

Odoo MasasıİçerirAnahtar Sütunlar
KOD0Envanter hareketleriürün_kimliği, konum_kimliği, konum_hedef_kimliği, ürün_uom_qty, tarih, eyalet
KOD0Güncel stok seviyeleriürün_kimliği, konum_kimliği, miktar, ayrılmış_miktar
KOD0Depolarkimlik, ad, kod, partner_id
KOD0Konumlarkimlik, ad, kullanım, konum_kimliği (ana)

Muhasebe Analitiği:

Odoo MasasıİçerirAnahtar Sütunlar
KOD0Günlük girişleri/faturalarkimlik, partner_id, tarih, miktar_toplam, durum, taşıma_türü, günlük_kimliği
KOD0Giriş hatlarımove_id, account_id, borç, kredi, bakiye, tarih, partner_id
KOD0Hesap planıkimlik, kod, ad, hesap_türü
KOD0Dergilerkimlik, ad, tür, kod

Üretim Analitiği:

Odoo MasasıİçerirAnahtar Sütunlar
KOD0Üretim siparişleriürün_id, ürün_adet, tarih_başlangıç, tarih_bitiş, durum, bom_id
KOD0İş merkezlerikimlik, ad, kapasite, time_efficiency
KOD0Malzeme listesiürün_tmpl_id, ürün_miktarı, tür

PostgreSQL'de Analitik Görünümler Oluşturma

Üretim dağıtımları için, Odoo tablolarını analitik şekiller halinde önceden birleştiren ve önceden toplayan SQL görünümleri oluşturmanızı önemle tavsiye ederiz. Bu, karmaşıklığı Power Query'den bakımının daha kolay olduğu ve daha iyi performans gösterdiği SQL'e taşır.

Satış özeti görünümü örneği:

CREATE VIEW v_sales_analysis AS
SELECT
    so.id AS order_id,
    so.name AS order_reference,
    so.date_order::date AS order_date,
    so.state AS order_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.price_subtotal AS line_total,
    sol.discount,
    ru.login AS salesperson,
    so.company_id
FROM sale_order so
JOIN sale_order_line sol ON sol.order_id = so.id
JOIN res_partner rp ON rp.id = so.partner_id
LEFT JOIN res_country rc ON rc.id = rp.country_id
JOIN product_product pp ON pp.id = sol.product_id
JOIN product_template pt ON pt.id = pp.product_tmpl_id
LEFT JOIN product_category pc ON pc.id = pt.categ_id
LEFT JOIN res_users ru ON ru.id = so.user_id
WHERE so.state IN ('sale', 'done');

Power BI bu görünümü önceden birleştirilmiş ve filtrelenmiş tek bir tablo olarak içeri aktarır. Karmaşık Power Query dönüşümlerine gerek yok. Yükseltmeler sırasında Odoo'nun şeması değiştiğinde, birden çok veri kümesindeki Power Query adımlarını değiştirmek yerine SQL görünümünü bir kez güncelleştirirsiniz.

Gerçekleştirilmiş görünümler sonuçları önceden hesaplayıp depolayarak daha da ileri giderek Power BI'ın önemli ölçüde daha hızlı yenilenmesini sağlar:

CREATE MATERIALIZED VIEW mv_sales_daily AS
SELECT
    so.date_order::date AS order_date,
    rp.country_id,
    pt.categ_id AS product_category_id,
    so.user_id AS salesperson_id,
    COUNT(DISTINCT so.id) AS order_count,
    SUM(sol.product_uom_qty) AS total_quantity,
    SUM(sol.price_subtotal) AS total_revenue
FROM sale_order so
JOIN sale_order_line sol ON sol.order_id = so.id
JOIN res_partner rp ON rp.id = so.partner_id
JOIN product_product pp ON pp.id = sol.product_id
JOIN product_template pt ON pt.id = pp.product_tmpl_id
WHERE so.state IN ('sale', 'done')
GROUP BY so.date_order::date, rp.country_id, pt.categ_id, so.user_id;

-- Refresh nightly via cron
-- REFRESH MATERIALIZED VIEW CONCURRENTLY mv_sales_daily;

Bu önceden birleştirilmiş görünüm, milyonlarca sipariş satırını binlerce günlük özet satırında özetler. Power BI, panoların özetini içeri aktarır ve kullanıcılar satır düzeyinde verilere ihtiyaç duyduğunda ayrıntı görünümüne geçiş kullanır.

Odoo'ya Özel Desenleri Kullanma

Çoklu şirket. Odoo, tek bir veritabanında birden fazla şirketi destekler. Sorgularınıza her zaman company_id ekleyin ve Power BI satır düzeyinde güvenliği, her kullanıcıyı kendi şirketinin verileriyle sınırlandıracak şekilde yapılandırın.

Durum alanları. Odoo metin durum kodlarını kullanır (draft, sent, sale, done, cancel). Bunları Power Query'deki veya SQL görünümünüzdeki kullanıcı dostu etiketlerle eşleyin:

CASE so.state
    WHEN 'draft' THEN 'Quotation'
    WHEN 'sent' THEN 'Sent'
    WHEN 'sale' THEN 'Sales Order'
    WHEN 'done' THEN 'Locked'
    WHEN 'cancel' THEN 'Cancelled'
END AS order_status

Çoklu para birimi. Odoo, tutarları işlem para biriminde ve şirket para biriminde saklar. Power BI panoları için hangi para biriminde rapor oluşturulacağına karar verin ve uygun sütunları kullanın. Gerçek zamanlı döviz kuru dönüşümüne ihtiyacınız varsa res_currency_rate tablosuna katılın.

Çoka çok ilişkiler. Odoo, çoktan çoğa ilişkiler (ürün etiketleri, iş ortağı kategorileri) için bağlantı tablolarını kullanır. Bunlar {model1}_{model2}_rel adlı tablolar olarak görünür. Bunları Power BI veri modelinizdeki köprü tablolarıyla işleyin.

Anahtar teslim Odoo analitiği arayan kuruluşlar için ECOSIRE'ın Power BI ERP entegrasyon hizmetleri, satış, envanter, muhasebe, üretim ve İK'yı kapsayan, Odoo yapılandırmanıza ve iş gereksinimlerinize göre tamamen özelleştirilmiş, önceden oluşturulmuş Odoo kontrol paneli şablonları sunar. Ekibimiz hem Odoo hem de Power BI konusunda derin bir uzmanlığa sahiptir ve BI danışmanlarının anlamadıkları bir ERP ile çalışmaya çalıştıklarında genellikle ortaya çıkan boşluğu ortadan kaldırır.


Power BI'ı SAP'ye bağlama

SAP Bağlantı Seçenekleri

SAP ortamları, doğrudan veritabanı erişimi konusunda açık kaynaklı ERP'lere göre daha kısıtlayıcıdır. Çoğu SAP müşterisi şu bağlantı yollarından birini kullanır:

SAP HANA bağlayıcısı. SAP S/4HANA müşterileri için Power BI'ın yerel SAP HANA bağlayıcısı, HANA görünümlerine (Analitik, Öznitelik ve Hesaplama görünümleri) doğrudan erişim sağlar. Bu, en yüksek performanslı seçenektir ve hem İçe Aktarma hem de DirectQuery modlarını destekler. İlgili görünümlerde SELECT ayrıcalıklarına sahip bir SAP HANA kullanıcısı gerekir.

SAP BW bağlayıcı. SAP Business Warehouse kullanan kuruluşlar için Power BI, BW sorgularına (BEx sorguları veya BW/4HANA bileşik sağlayıcıları) bağlanır. Bu, BW'de halihazırda yerleşik olan analitik yapılardan yararlanarak Power BI'da verileri sıfırdan modelleme ihtiyacını ortadan kaldırır.

SAP OData hizmetleri. SAP, iş verilerini OData API'leri (özellikle SAP Gateway ve SAP API Business Hub) aracılığıyla kullanıma sunar. Power BI'ın OData bağlayıcısı bu hizmetleri kullanır. Bu yaklaşım, SAP'nin yetkilendirme modeline uygundur ancak doğrudan veritabanı erişiminden daha yavaştır ve büyük veri kümeleri için sayfalandırma sınırlarına sahip olabilir.

Ara depolamaya çıkarma. Karmaşık senaryolar için SAP'nin yerel araçlarını (Open Hub, SLT çoğaltma, CDS görünümleri) kullanarak SAP verilerini Azure Data Lake, Snowflake veya Azure SQL'e çıkarın. Power BI ara depolamaya bağlanır. Bu, kurumsal dağıtımlar için en esnek ve ölçeklenebilir yaklaşımdır.

SAP Veri Modellemesinde Dikkat Edilmesi Gerekenler

SAP'nin veri yapıları karmaşıktır ve derinlemesine normalleştirilmiştir. VBAK (satış siparişi başlığı), VBAP (satış siparişi öğeleri), KNA1 (müşteri yöneticisi) ve MARA (malzeme yöneticisi) gibi tablolar kısa, şifreli sütun adları kullanır ve çeviri için birleştirme tabloları gerektiren kodlanmış değerleri depolar.

SAP verilerinden Power BI modelleri oluştururken:

Kodları erken çevirin. SAP, ülkeyi 2 karakterli bir kodla, para birimini 3 karakterli bir kodla ve malzeme türünü "FERT" veya "HALB" gibi bir kodla depolar. Power Query'ye değil, çıkarma sorgunuza metin tablolarıyla (ülkeler için T005T, para birimleri için TCURT, malzeme türleri için T134T) katılın.

SAP'in tarih biçimini yönetin. SAP, tarihleri ​​boş tarihler için "00000000" ile 8 basamaklı dizeler (YYYYAAGG) olarak saklar. Bunları dönüştürme katmanınızda uygun tarih türlerine dönüştürün ve boş tarih modelini kullanın.

Yetkilendirme nesnelerine saygı gösterin. SAP'nin yetkilendirme modeli, her kullanıcının hangi verilere erişebileceğini ayrıntılı düzeyde kontrol eder. Power BI için veri ayıklarken, çıkarma işleminizin bu sınırlara uyduğundan emin olun veya Power BI'da eşdeğer satır düzeyinde güvenlik uygulayın.


Power BI'ı Dynamics 365'e bağlama

Veri Evreni: Yerel Yol

Dynamics 365, verileri Microsoft Dataverse'de depolar ve Power BI birinci sınıf Dataverse entegrasyonuna sahiptir. Bu, Dynamics 365'i, özellikle Microsoft ekosistemine halihazırda yatırım yapmış kuruluşlar için Power BI'ya bağlanması en kolay ana ERP haline getirir.

Dataverse bağlayıcısı. Power BI Desktop → Veri Al → Dataverse. Dynamics 365 kimlik bilgilerinizle kimlik doğrulaması yapın. İhtiyacınız olan tablolara (varlıklara) göz atın ve seçin. Bağlayıcı, Dataverse güvenlik rollerine saygı duyar, böylece kullanıcılar yalnızca erişme yetkisine sahip oldukları verileri görür.

Dataverse için Azure Synapse Link. Büyük Dynamics 365 veri kümeleri için Azure Synapse Link, Dataverse verilerini sürekli olarak Azure Synapse Analytics'e veya Azure Data Lake'e çoğaltır. Power BI, Dataverse'ü doğrudan sorgulamak yerine Synapse/Data Lake'e bağlanır. Bu, Dynamics 365 üzerindeki performans etkisini ortadan kaldırır ve karmaşık dönüşümler için daha iyi bir platform sağlar.

TDS uç noktası. Dataverse, Power BI'ın SQL Server bağlayıcısını kullanarak bağlanabileceği bir Tablolu Veri Akışı (TDS) uç noktasını kullanıma sunar. Bu, Dataverse verilerine karşı özel SQL sorguları yazmak istediğiniz senaryolar için kullanışlıdır.

Analytics için Dynamics 365 Tabloları

Yaygın analitik senaryolara yönelik temel Dataverse tabloları:

Satışlar: salesorder, salesorderdetail, opportunity, account, contact, product Hizmet: incident (durumlar), knowledgearticle, entitlement, sla Finans: invoice, invoicedetail, payment, generaljournal Saha Servisi: workorder, bookableresource, agreement

Dynamics 365'in tablo yapısı zaten göreceli olarak analitiktir; salesorder gibi varlıklar hesap adı, sahip ve durum etiketi için normalleştirilmemiş alanlar içerir. Ancak optimum Power BI performansı için Dataverse tablolarını olduğu gibi içe aktarmak yerine yine de bir yıldız şeması oluşturun.


Power BI'ı Oracle ve NetSuite'e bağlama

Oracle E-Business Suite / Fusion

Oracle EBS için, ağ geçidi makinesinde kurulu Oracle istemcisi ile Power BI'ın Oracle Database bağlayıcısını kullanın. Oracle Fusion Cloud uygulamaları, Power BI'ın Web bağlayıcısı veya OData bağlayıcısı aracılığıyla kullanabileceği REST API'ler sağlar.

Oracle'ın BI Yayımcı raporları, verileri Power BI'ın kullanabileceği formatlarda çıkaracak şekilde yapılandırılabilir ve Oracle'ın iş mantığına ve güvenliğine saygılı, satıcı tarafından desteklenen bir çıkarma yolu sağlar.

NetSuite

NetSuite, Power BI için birden fazla bağlantı yolu sağlar:

SuiteAnalytics Connect (ODBC). NetSuite'in ODBC sürücüsü, Power BI'ın ODBC bağlayıcısını kullanarak bağlanmasına olanak tanır. Bu, yerel NetSuite şemasından daha analitik dostu olan ilişkisel bir şemayla NetSuite'in veri kümesine SQL erişimi sağlar.

SuiteQL API. NetSuite'in REST API'si, SQL benzeri bir sorgulama dili olan SuiteQL'i destekler. Power BI, bu API'yi özel Power Query işlevleri aracılığıyla çağırabilir. Bu, hedeflenen çıkarımlar için kullanışlıdır ancak büyük veri kümeleri için ODBC'den daha az verimlidir.

Üçüncü taraf bağlayıcılar. CData gibi araçlar, NetSuite için sayfalandırmayı, kimlik doğrulamayı ve şema eşlemeyi otomatik olarak yöneten optimize edilmiş Power BI bağlayıcıları sağlar.


Power BI'ı QuickBooks'a bağlama

QuickBooks Çevrimiçi

QuickBooks Online, verileri Power BI'ın kullanabileceği bir REST API aracılığıyla kullanıma sunar. Bağlantı, Intuit Developer Portal'da bir OAuth2 uygulaması kaydı ve özel bir Power Query bağlayıcısı veya manuel OAuth belirteci yönetimine sahip Web bağlayıcısı gerektirir.

Çoğu QuickBooks kullanıcısı için en basit yol, kimlik doğrulamayı, sayfalandırmayı ve veri türü eşlemeyi yöneten üçüncü taraf bir bağlayıcıdır (CData, Skyvia veya benzeri). Bu bağlayıcılar Power BI'da yerel veri kaynakları olarak görünür ve API karmaşıklığını soyutlar.

Power BI için Önemli QuickBooks Verileri

Gelir tablosu verileri: Faturalar, ödemeler, kredi notları, satış makbuzları Bilanço verileri: Hesap bakiyeleri, yevmiye kayıtları Operasyonel veriler: Müşteriler, satıcılar, ürünler/hizmetler, tahminler

QuickBooks veri hacimleri genellikle tam yenilemenin hızlı olmasını sağlayacak kadar küçüktür (5 dakikanın altında). QuickBooks entegrasyonları için artımlı yenileme nadiren gereklidir.


ERP Verileri için Artımlı Yenileme

Artımlı Yenileme Neden Önemlidir

ERP veritabanları sürekli olarak büyüyor. Orta ölçekli bir şirket her gün binlerce işlem gerçekleştiriyor. Birkaç yıl sonra satış siparişi tablosu milyonlarca satır içerir. Her sabah tablonun tamamını yenilemek ağ geçidi kaynaklarını, veritabanı kapasitesini ve zamanı boşa harcar.

Artımlı yenileme, Power BI'a yalnızca son verileri (örneğin, son 30 gün) yenilemesini ve önceki yenilemelerden gelen geçmiş verileri önbelleğe almasını söyler. 45 dakika süren tam yenileme, 3 dakikalık artımlı yenilemeye dönüşür.

Yapılandırma Adımları

Adım 1: Power Query parametreleri oluşturun. Her ikisi de DateTime türünde, tam olarak RangeStart ve RangeEnd adlı iki parametre oluşturun. Varsayılan değerleri ayarlayın (bunlar yalnızca Power BI Desktop'ta kullanılır; hizmet bunları geçersiz kılar).

2. Adım: Kaynak sorgunuzu filtreleyin. Aşağıdaki parametreleri kullanarak olgu tablonuzun tarih sütununa bir filtre uygulayın:

#"Filtered Rows" = Table.SelectRows(Source, each [order_date] >= RangeStart and [order_date] < RangeEnd)

Artımlı yenilemenin çalışması için bu filtrenin kaynak veritabanına katlanması gerekir. PostgreSQL'e (Odoo) bağlanıyorsanız, filtre PostgreSQL'in yürüttüğü bir WHERE cümlesi oluşturur ve yalnızca eşleşen satırları döndürür.

3. Adım: Artımlı yenileme ilkesini tanımlayın. Power BI Desktop'ta tabloya sağ tıklayın → Artımlı yenileme. Yapılandır:

  • Verileri arşivleme başlangıcı: Geçmiş verileri ne kadar geriye doğru tutacağınız (örneğin, 3 yıl).
  • Verileri artımlı olarak yenileme başlangıcı: En son verilerin ne kadar yenilendiği (örneğin, 30 gün).
  • Yalnızca tam dönemleri yenile: Kısmi günlük veri sorunlarını önlemek için bunu işaretleyin.
  • Veri değişikliklerini algıla: Kaynak tablonuzda güvenilir bir "son değiştirilme" sütunu varsa etkinleştirin (değişmeyen bölümleri atlayarak yenileme süresini daha da azaltır).

4. Adım: Yayımlayın ve yapılandırın. Power BI hizmetinde yayımladıktan sonra zamanlanmış yenilemeyi yapılandırın. Hizmet, zamana dayalı bölümler oluşturur ve yalnızca artımlı pencereye giren bölümleri yeniler.

ERP'ye Özel Artımlı Yenileme Desenleri

Odoo: Değişiklik algılama sütunu olarak write_date kullanın. Odoo, bu zaman damgasını her kayıt değişikliğinde güncelleyerek, değişen satırların tespitinde güvenilir olmasını sağlar.

SAP: Çoğu SAP işlem tablosunda bulunan AEDAT (değişim tarihi) alanını kullanın. HANA için, gerçekleştirilmiş HANA görünümleri değişiklik takibini sağlayabilir.

Dynamics 365: Veri evreni varlıkları, değişiklik tespiti için iyi çalışan modifiedon zaman damgalarına sahiptir. Azure Synapse Link, yerleşik değişiklik verileri yakalama olanağı sağlar.

Oracle: Oracle'ın rowscn'sini veya özel bir last_update_date sütununu kullanın. Oracle GoldenGate, gerçek zamanlı senaryolar için değişiklik verilerinin yakalanmasını sağlayabilir.


Veri Dönüşümü İçin En İyi Uygulamalar

Çoklu Para Birimi Normalleştirmesi

Çoğu ERP sistemi işlem tutarlarını işlem para biriminde saklar. Analitik kontrol panelleri için genellikle tek bir raporlama para birimindeki tutarlara ihtiyacınız vardır.

İki yaklaşım:

Kaynak tarafı dönüştürme. ERP'niz hem işlem hem de temel para birimi tutarlarını saklıyorsa (Odoo, amount_total'yi işlem para biriminde ve amount_total_company_currency'yi temel para biriminde saklar), doğrudan temel para birimi sütununu kullanın. Bu, ERP'nin döviz kurlarından yararlanır ve operasyonel ve analitik raporlama arasındaki tutarsızlıkları önler.

Power Query dönüşümü. ERP'nin temel para biriminden farklı bir para biriminde raporlama yapmanız gerekiyorsa Power BI modelinizde bir döviz kuru tablosu oluşturun ve rapor zamanında tutarları dönüştürmek için DAX'ı kullanın. Bu yaklaşım daha esnektir ancak döviz kuru verilerinin korunmasını gerektirir.

Durum Kodu Çevirisi

ERP sistemleri durumlar, türler ve kategoriler için dahili kodları kullanır. Bunları DAX'ta değil, dönüşüm katmanınızda kullanıcı dostu etiketlere çevirin. "Taslak, Gönderildi, Onaylandı, Tamamlandı, İptal Edildi" şeklinde gruplandırılan bir görsel, yeterince açıklayıcıdır. "1, 2, 3, 4, 5" şeklinde gruplanan bir görsel değildir.

Odoo için, Odoo okunabilir metin durumlarını kullandığından çeviri basittir. SAP için şifreli kodları (AUFNR, MATNR, BUKRS) iş dostu adlarla eşleştirin. Dynamics 365 için temeldeki tamsayı değerleri yerine seçenek kümesi etiketlerini kullanın.

Mali Takvim Hizalaması

Mali yılınız takvim yılından farklıysa, her tarihi kendi mali yılı, mali çeyreği ve mali dönemiyle eşleştiren bir mali takvim boyutu oluşturun. Bu, "1. Çeyrek"in takvim 1. Çeyreği (Ocak-Mart) değil, mali 1. Çeyrek (Temmuz-Eylül olabilir) anlamına geldiği mali kontrol panelleri için gereklidir.

Kullanıcıların veri modelini değiştirmeden perspektifler arasında geçiş yapabilmesi için tarih boyutunuza hem takvim hem de mali nitelikleri ekleyin.

Power BI'ı özel ERP ortamınıza bağlama konusunda uçtan uca yardım almak üzere ECOSIRE'ın analiz ekibiyle iletişime geçin gereksinimlerinizi görüşün. Odoo analitiği konusunda uzmanız ve her önemli Odoo modülü için önceden oluşturulmuş Power BI şablon panoları sağlıyoruz.


SSS

Power BI'ı doğrudan ERP veritabanıma mı bağlamalıyım yoksa bir veri ambarı mı kullanmalıyım?

Az sayıda rapora ve orta düzeyde veri hacmine (10 milyon satırın altında) sahip ilk dağıtımlar için, doğrudan veritabanı bağlantılarının kurulumu daha hızlıdır ve tamamen yeterlidir. Analitik ortamınız 10-15 raporun ötesine geçtikçe veya birden fazla kaynak sistemden gelen verileri birleştirmeye başladıkça, veri ambarı değerli hale gelir. Ambar, Power BI için istikrarlı bir şema (ERP şeması değişikliklerinden yalıtma), daha iyi sorgu performansı (ön toplama ve dizin oluşturma yoluyla) ve iş mantığını uygulamak için tek bir yer (para birimi dönüştürme, mali eşleme, durum çevirisi) sağlar. Çoğu kuruluş doğrudan bağlantılarla başlar ve 12-18 ay içinde bir depoya taşınır.

Power BI sorguları ERP sistemimi yavaşlatır mı?

Düzgün yönetilmezse yapabilirler. Power BI zamanlanmış yenilemeleri, ERP veritabanınızda CPU, bellek ve G/Ç kaynaklarını tüketen SQL sorgularını yürütür. Yenilemeleri yoğun olmayan saatlerde (sabah erken, akşam geç saatlerde) planlayarak, analitik sorgular için okuma kopyaları oluşturarak (Odoo için PostgreSQL akış çoğaltması, SQL Server için Her Zaman Açık), sonuçları önceden hesaplayan gerçekleştirilmiş görünümleri kullanarak ve taranan verileri en aza indirmek için artımlı yenileme uygulayarak bu durumu azaltın. Görev açısından kritik ERP'ler için okuma replikası en güvenli yaklaşımdır; Power BI replikayı sorgularken üretim veritabanı etkilenmez.

Veritabanı şemasını değiştiren Odoo modülü yükseltmelerini nasıl halledebilirim?

Odoo modülü yükseltmeleri zaman zaman veritabanı sütunları ve tabloları ekler, yeniden adlandırır veya kaldırır. Power BI sorguları yeniden adlandırılmış veya kaldırılmış bir sütuna başvuruyorsa yenileme başarısız olur. Ham Odoo tabloları ile Power BI arasında soyutlama katmanı olarak SQL görünümlerini kullanarak bu durumu azaltın. Yükseltme şemayı değiştirdiğinde, SQL görünümünü yeni yapıyı yansıtacak şekilde güncelleyin. Power BI, görünümün kararlı şemasını herhangi bir değişiklik yapmadan sorgulamaya devam eder. Her Odoo yükseltmesinden sonra, bir sonraki zamanlanmış yenilemeden önce tüm sorguların başarılı olduğunu doğrulamak için Power BI yenilemenizi manuel olarak çalıştırın.

Birden fazla ERP sisteminden gelen verileri tek bir Power BI raporunda birleştirebilir miyim?

Evet ve bu Power BI'ın en güçlü yeteneklerinden biridir. Farklı bölgelerde veya iş birimlerinde farklı ERP'ler işleten kuruluşlar, tüm sistemlerden gelen verileri birleştiren birleşik gösterge tabloları oluşturabilir. Önemli olan, farklı ERP yapılarını paylaşılan bir formatta normalleştiren ortak bir analitik şema (yıldız şeması) oluşturmaktır. Müşteri boyutu tabloları, ortak bir tanımlayıcı kullanarak tüm ERP'lerdeki müşterileri birleştirir. Ürün boyutları, ürün kategorilerini sistemler arasında hizalar. Bilgi tabloları, tutarları ortak bir para birimine ve durumları da ortak bir kelime dağarcığına göre standartlaştırır. Bileşik modeller bazı kaynaklara İçe Aktarma yoluyla, diğerlerine ise DirectQuery aracılığıyla bağlanabilir.

Odoo'nun çoktan çoğa ilişkilerini Power BI'da nasıl halledebilirim?

Odoo, ürün etiketleri, iş ortağı kategorileri ve erişim kontrol listeleri gibi çoktan çoğa ilişkiler için bağlantı tablolarını ({model1}_{model2}_rel modeliyle adlandırılır) kullanır. Power BI'da bağlantı tablosunu içeri aktarın ve iki bire-çok ilişki oluşturun: biri birinci boyuttan bağlantı tablosuna, diğeri ikinci boyuttan bağlantı tablosuna. Bu köprü tablosu modeli, çoktan çoğa filtrelemeyi doğru şekilde işler. Bazı Odoo çoktan çoğa ilişkilerinin toplamayı zorlaştıran satırlar oluşturduğunu unutmayın; doğrulama sırasında toplamları her zaman Odoo'nun yerel raporlarına göre doğrulayın.

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.

WhatsApp'ta Sohbet Et