Factorizer/Cluster ERP WikiCluster ERP English
Ana sayfa / İş modülleri

Referans

Analitik raporları, özetleri ve çapraz

Sonuç anlık görüntülü analitik raporlarının, önceden toplanmış özet hücreleri ve yenilenmelerinin, veri profillemenin ve olgular arası karşılaştırmanın başvurusu.

Bu sayfa src/cluster_erp/modules/analytics/ içindeki analytics modülünün dört dosyasını anlatır: reports.py (yakalanan sonuçlardan kurulan belgeler), summaries.py (önceden toplanmış özet hücreleri), profiling.py (veri profilleri ve ortak sütun izin listesi) ve cross.py (iki olgu kümesinin bir dönem ekseninde hizalanması).

Kapsam ve kaynak

  • Tanımlandığı yer: ReportService (src/cluster_erp/modules/analytics/reports.py:73), load_states, refresh ve plan özet işlevleri (src/cluster_erp/modules/analytics/summaries.py:345-500), profile_targets ve Profiler (src/cluster_erp/modules/analytics/profiling.py:118-142) ile cross.py içindeki saf işlevler (src/cluster_erp/modules/analytics/cross.py:28-157).
  • Tablolar: analytics_reports, analytics_report_items, analytics_summary_cells, analytics_summary_state (src/cluster_erp/modules/analytics/models.py:66-148).
  • Uçlar: /analysis/reports (9 uç), /analysis/summaries ve /analysis/summaries/refresh, /analysis/profile/{fact_key}, /analysis/cross/compare/{fact_a} ve /analysis/cross/correlate/{fact_a} (src/cluster_erp/modules/analytics/routes.py:56-78, src/cluster_erp/modules/analytics/routes.py:686-785, src/cluster_erp/modules/analytics/routes.py:1071-1237).

Raporlar

Rapor, yakalanmış analiz sonuçlarından oluşan adlı bir belgedir. Rapor kalemi türü, olguyu ve parametreleri, ayrıca yakalama zamanıyla birlikte sonuç anlık görüntüsünü saklar; böylece rapor veri değiştiğinde hiçbir zaman değişmez (src/cluster_erp/modules/analytics/reports.py:1-17).

Kural Ayrıntı Kaynak
Görünürlük sahip ve kuruluş geneli is_shared; düzenleme yalnızca sahibe aittir src/cluster_erp/modules/analytics/reports.py:10-12
Erişim yanıtları başkasının özel raporu bulunamadı yanıtı verir; sahibi olmayanın düzenlediği paylaşılmış rapor yasak yanıtı verir src/cluster_erp/modules/analytics/reports.py:12-14
İçerik anlık görüntüler yalnızca anlamsal anahtarlar ve hesaplanmış sayılar içerir src/cluster_erp/modules/analytics/reports.py:15-17
Kalemler kalem ekleme, güncelleme, taşıma ve kaldırma src/cluster_erp/modules/analytics/reports.py:222-362
Kaldırma rapor bir nedenle devre dışı bırakılır src/cluster_erp/modules/analytics/reports.py:198-220

Özet hücreleri

Özet hücreleri, olgu kümesi ve tarih ekseni başına, gün ve özet boyutları birleşimi başına bir satır tutar; satır sayısını ve ayrıştırılabilir her ölçünün toplamını ve boş olmayan sayısını içerir. Hücrelere uyan bir rapor onlardan yanıtlanır ve içinde bulunulan gün her zaman canlı okunur (src/cluster_erp/modules/analytics/summaries.py:1-17).

flowchart LR
 F["olgu tablosu satırları"] -->|updated_at su işaretiyle yenileme| C["gün ve boyutlar başına AnalyticsSummaryCell"]
 F -->|tam yeniden kurma| C
 C --> P{"summaries.plan"}
 T["bugünün satırları, canlı"] --> P
 P -->|uyar| S["yanıt kaynağı summary"]
 P -->|nedenli Ineligible| L["yanıt kaynağı live"]

Düz anlatımla:

  • Hücreler her metin ve mantıksal boyutla ve katkı veren modülün rollup işaretlediği referans boyutlarla anahtarlanır (src/cluster_erp/modules/analytics/summaries.py:89-99).
  • Bir ölçü yalnızca toplaması ayrıştırılabildiğinde hücrelerden verilir: count, sum ve toplam bölü sayı olarak avg. count_distinct, median, min ve max canlı kalır (src/cluster_erp/modules/analytics/summaries.py:21-23).
  • Özet kümesi dışında bir boyut, ikinci bir tarih ekseni veya metin üzerinde sıralama işleci kullanan sorgu canlı çalışır; sonuç source değerini ve nedeni belirtir (src/cluster_erp/modules/analytics/summaries.py:24-26, src/cluster_erp/modules/analytics/summaries.py:399-426, src/cluster_erp/modules/analytics/service.py:157-168).
  • Hücreler canlı süzgecin dışladığı satırları dışlar; devre dışı bırakma updated_at alanını değiştirir, böylece o gün yeniden hesaplanır (src/cluster_erp/modules/analytics/summaries.py:27-28).
  • Yenileme her analytics_summary_refresh_seconds (varsayılan 60) saniyede updated_at ile artımlıdır; her analytics_summary_rebuild_minutes (varsayılan 60) dakikada tam bir yeniden kurma çalışır. Bir olgu kümesi ilk yenilemesinden sonra hücrelerden verilir (src/cluster_erp/modules/analytics/summaries.py:29-40, src/cluster_erp/config/settings.py:528-531, src/cluster_erp/server/app.py:461-470).
  • GET /analysis/summaries olgu ve eksen başına durumu gösterir; POST /analysis/summaries/refresh istek üzerine bir yenileme veya yeniden kurma çalıştırır (src/cluster_erp/modules/analytics/routes.py:1207-1237, src/cluster_erp/modules/analytics/service.py:170-198).

Belge dizesi, hücrelerin türetilmiş veri olduğunu, bu yüzden bir hücreyi silip yeniden yazmanın bir kaydın silinmesi olmadığını belirtir (src/cluster_erp/modules/analytics/summaries.py:18-20).

Profilleme

Profil varsayılan olarak tablo düzeyi ve sütun düzeyi ölçütleri kapsar; bağımlılık keşfi yalnızca istek üzerine ve bir örneklem üzerinde çalışır (src/cluster_erp/modules/analytics/profiling.py:1-14).

  • profile_targets, bir olgunun bildirilmiş boyutlarını ve ölçü sütunlarını profillenebilir sütunlar listesine çevirir. İstatistik, çıkarım, seriler ve tariflerin kullandığı ortak izin listesidir (src/cluster_erp/modules/analytics/profiling.py:118-140).
  • Devre dışı satırlar live_scope ile dışarıda bırakılır (src/cluster_erp/modules/analytics/profiling.py:55-68).
  • Nicelikler percentile_disc kullanır; üretilen SQL içinde round() ve float dönüşümü yoktur (src/cluster_erp/modules/analytics/profiling.py:24-27).
  • analytics_profile_exact_max_rows (varsayılan 200000) değerinden büyük bir ilişki analytics_profile_sample_rows (varsayılan 50000) satırlık bir örneklem üzerinde profillenir ve profil bunu belirtir (src/cluster_erp/modules/analytics/profiling.py:29-33, src/cluster_erp/modules/analytics/profiling.py:166, src/cluster_erp/config/settings.py:485-486).
  • Satırları birden çok para birimine yayılan parasal bir sütunda sayısal ve sıralı ölçütler hesaplanmaz (src/cluster_erp/modules/analytics/profiling.py:216-250).

Olgular arası karşılaştırma

cross.py, iki olgu kümesini aynı seri motorunun kurduğu ortak bir dönem ekseninde hizalar (src/cluster_erp/modules/analytics/cross.py:1-15):

  • Birleştirme, iki tarafta da tanımlı dönemler üzerinde iç birleştirmedir; her tarafın kendine özgü dönemleri atılmaz, sayılır (src/cluster_erp/modules/analytics/cross.py:41-80).
  • İsteğe bağlı bir gecikme B tarafını tam dönemlerle kaydırır.
  • Kategorik bir taraf sayılardan varlık veya pay olarak türetilir ve türetme bildirilir (src/cluster_erp/modules/analytics/cross.py:82-115).

İki olgu kümesi de çağıranın izinle süzülmüş kataloğu üzerinden çözülür; okunamayan bir taraf tüm soruyu bilinmeyen yapar (src/cluster_erp/modules/analytics/service.py:535-563).

Kısıtlar ve doğrulama

  • Rapor kalemleri ve kayıtlı modeller hiçbir zaman fiziksel ad saklamaz (src/cluster_erp/modules/analytics/reports.py:15-17).
  • Özet yenilemesi sunucuda bir arka plan döngüsüdür; yenilemesi kapalı bir kurulum her şeyi canlı yanıtlar (src/cluster_erp/modules/analytics/summaries.py:38-39).

Tanıtılan terimler

Terim Kod tanımlayıcısı Tanım Türkçe terim Kaynak
summary cell AnalyticsSummaryCell Olgu, tarih ekseni, gün ve boyut birleşimi başına önceden toplanmış tek satır. Özet hücresi src/cluster_erp/modules/analytics/models.py:112
report item AnalyticsReportItem Bir rapor içinde sonuç anlık görüntüsüyle yakalanmış analiz. Rapor kalemi src/cluster_erp/modules/analytics/models.py:86
profile target profile_targets Profillemenin ve istatistiğin okuyabileceği bildirilmiş sütun. Profil hedefi src/cluster_erp/modules/analytics/profiling.py:118

İlgili sayfalar


92f8051 numaralı commit ile 2026-11-13 tarihinde doğrulandı.

Doğrulanan commit 92f8051 · 2026-11-13