Blok Türleri
Analiz Blok Kategorileri
Filtreler, hesaplayıcılar ve uyarı yapılandırmaları dahil olmak üzere farklı blok türlerini keşfedin. Her türün yetenekleri, yapılandırma seçenekleri ve oluşturma uç noktaları hakkında bilgi edinin.
Filtre Blokları
POST /api/{tenantId}/{projectId}/block/filter
Filtre blokları, veri kümelerine veri filtreleme kriterleri uygular, tarih aralıkları, değer filtreleri veya mantıksal ifadeler gibi koşulları uygulayarak veriyi azaltır. Belirli veri alt kümeleri üzerinde odaklanmış analizlerin temelini oluştururlar.
Yetenekler
- Tarih Aralığı Filtreleme: Belirli zaman dilimleri içindeki verileri filtreleyin
- Faaliyet Filtreleme: Belirli süreç faaliyetlerini dahil edin veya dışlayın
- Vaka Nitelik Filtreleme: Vaka özellikleri ve meta verilere göre filtreleyin
- Değer Aralığı Filtreleme: Sayısal ve metin değer koşulları uygulayın
- Karmaşık Mantık: Birden fazla filtreyi AND/OR işlemleriyle birleştirin
İstek Gövdesi
{
"notebookId": "660e8400-e29b-41d4-a716-446655440000",
"blockTitle": "Tarih Aralığı Filtresi",
"blockDescription": "Son 30 gün için süreç verilerini filtreler"
}
Yapılandırma Örnekleri
// Tarih aralığı filtre yapılandırması
{
"filterType": "dateRange",
"startDate": "2024-01-01T00:00:00Z",
"endDate": "2024-01-31T23:59:59Z",
"dateField": "timestamp"
}
// Faaliyet filtre yapılandırması
{
"filterType": "activity",
"include": ["Order Created", "Payment Processed"],
"exclude": ["System Log"]
}
// Vaka niteliği filtre yapılandırması
{
"filterType": "caseAttribute",
"attribute": "customerType",
"operator": "equals",
"value": "Premium"
}
Hesaplayıcı Blokları
POST /api/{tenantId}/{projectId}/block/calculator
Hesaplayıcı blokları, veri kümeleri üzerinde matematiksel işlemler ve analitik hesaplamalar yapar. Süreç madenciliği analizi için metrikler, toplama işlemleri, istatistiksel ölçümler ve türetilmiş değerler hesaplar.
Yetenekler
- Süre Hesaplamaları: Süreç döngü ve öncül süreleri
- Sıklık Analizi: Faaliyet gerçekleşme oranları ve desenleri
- Performans Metrikleri: İşlem hacmi, verimlilik ve kullanım oranları
- İstatistiksel Analiz: Ortalama, medyan, yüzde değerler ve dağılımlar
- Özel Formüller: Karmaşık matematiksel ifadeler ve KPI’lar
İstek Gövdesi
{
"notebookId": "660e8400-e29b-41d4-a716-446655440000",
"blockTitle": "Süreç Süresi Hesaplayıcı",
"blockDescription": "Ortalama vaka süresi ve döngü sürelerini hesaplar"
}
Yapılandırma Örnekleri
// Süre hesaplama yapılandırması
{
"calculationType": "duration",
"startActivity": "Order Created",
"endActivity": "Order Completed",
"unit": "hours",
"aggregation": "average"
}
// Sıklık hesaplama yapılandırması
{
"calculationType": "frequency",
"groupBy": "activity",
"timeWindow": "daily",
"metric": "count"
}
// Özel KPI hesaplama yapılandırması
{
"calculationType": "custom",
"formula": "(completedCases / totalCases) * 100",
"resultUnit": "percentage",
"name": "Tamamlama Oranı"
}
Uyarı Blokları
POST /api/{tenantId}/{projectId}/block/alert
Uyarı blokları, veri koşullarını izler ve belirli kriterler karşılandığında bildirimler tetikler. Süreç madenciliği iş akışları ve uyumluluk gereksinimleri için otomatik izleme ve istisna tespiti sağlar.
Yetenekler
- Eşik İzleme: Metrikler tanımlı sınırları aştığında uyarı verir
- Desen Tespiti: Olağandışı süreç davranış desenlerini belirler
- Uyumluluk Takibi: İş kurallarına uyumu takip eder
- Performans Uyarıları: SLA ihlallerini ve performans düşüşlerini izler
- Gerçek Zamanlı Bildirimler: Kritik durumlar için anında uyarılar
İstek Gövdesi
{
"notebookId": "660e8400-e29b-41d4-a716-446655440000",
"blockTitle": "SLA İhlali Uyarısı",
"blockDescription": "Vaka süresi SLA eşik değerini aştığında uyarır"
}
Yapılandırma Örnekleri
// Eşik seviyesi uyarı yapılandırması
{
"alertType": "threshold",
"metric": "caseDuration",
"operator": "greaterThan",
"threshold": 48,
"unit": "hours",
"severity": "high"
}
// Desen sapması uyarı yapılandırması
{
"alertType": "patternDeviation",
"baselinePattern": "Order -> Payment -> Fulfillment",
"deviationTolerance": 0.1,
"minOccurrences": 10
}
// Uyumluluk uyarı yapılandırması
{
"alertType": "compliance",
"rule": "approvalRequired",
"condition": "amount > 1000",
"requiredActivity": "Manager Approval"
}
Blok Türü Karşılaştırması
Analiz ihtiyaçlarınız için doğru blok türünü seçin:
| Blok Türü | Birincil Amaç | Girdi | Çıktı | Kullanım Durumları |
|---|---|---|---|---|
| Filtre | Veri azaltma ve odaklama | Tam veri kümesi | Filtrelenmiş veri kümesi | Zaman periyodu analizi, belirli süreç yolları |
| Hesaplayıcı | Metrik ve KPI hesaplama | Veri kümesi (filtreli veya tam) | Hesaplanmış değerler/metrikler | Performans ölçümü, istatistiksel analiz |
| Uyarı | İzleme ve bildirimler | Metrikler veya veri kümesi | Uyarı koşulları/bildirimler | SLA takibi, istisna tespiti |
Örnek: Tam Blok İş Akışı
Bu örnek, kapsamlı bir analiz için farklı blok türlerinin nasıl oluşturulacağını gösterir:
// Son verilere odaklanmak için filtre bloğu oluştur
const createDateFilter = async (notebookId) => {
const response = await fetch(`/api/${tenantId}/${projectId}/block/filter`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
},
body: JSON.stringify({
notebookId: notebookId,
blockTitle: 'Son 30 Gün Filtresi',
blockDescription: 'Analizi güncel süreç verilerine odaklar'
})
});
return await response.json();
};
// Metrikleri hesaplamak için hesaplayıcı bloğu oluştur
const createDurationCalculator = async (notebookId) => {
const response = await fetch(`/api/${tenantId}/${projectId}/block/calculator`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
},
body: JSON.stringify({
notebookId: notebookId,
blockTitle: 'Ortalama Süre Hesaplayıcı',
blockDescription: 'Ortalama vaka işleme süresini hesaplar'
})
});
return await response.json();
};
// İzleme için uyarı bloğu oluştur
const createSLAAlert = async (notebookId) => {
const response = await fetch(`/api/${tenantId}/${projectId}/block/alert`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${token}`
},
body: JSON.stringify({
notebookId: notebookId,
blockTitle: 'SLA İhlali Uyarısı',
blockDescription: 'SLA ihlallerini izler'
})
});
return await response.json();
};
// Tam analiz iş akışını oluştur
const buildAnalysisWorkflow = async (notebookId) => {
try {
// 1. Veriyi güncel döneme filtrele
const filterBlock = await createDateFilter(notebookId);
console.log('Filtre bloğu oluşturuldu:', filterBlock.blockId);
// 2. Performans metriklerini hesapla
const calculatorBlock = await createDurationCalculator(notebookId);
console.log('Hesaplayıcı bloğu oluşturuldu:', calculatorBlock.blockId);
// 3. İzleme uyarılarını ayarla
const alertBlock = await createSLAAlert(notebookId);
console.log('Uyarı bloğu oluşturuldu:', alertBlock.blockId);
return {
filter: filterBlock,
calculator: calculatorBlock,
alert: alertBlock
};
} catch (error) {
console.error('İş akışı oluşturulurken hata oluştu:', error);
throw error;
}
};
Python Uygulaması
import requests
from typing import Dict, Any
class BlockTypeManager:
def __init__(self, base_url: str, tenant_id: str, project_id: str, token: str):
self.base_url = base_url
self.tenant_id = tenant_id
self.project_id = project_id
self.headers = {
'Authorization': f'Bearer {token}',
'Content-Type': 'application/json'
}
def create_filter_block(self, notebook_id: str, title: str, description: str) -> Dict[str, Any]:
"""Veri azaltma için filtre bloğu oluşturur"""
url = f"{self.base_url}/api/{self.tenant_id}/{self.project_id}/block/filter"
payload = {
'notebookId': notebook_id,
'blockTitle': title,
'blockDescription': description
}
response = requests.post(url, json=payload, headers=self.headers)
response.raise_for_status()
return response.json()
def create_calculator_block(self, notebook_id: str, title: str, description: str) -> Dict[str, Any]:
"""Metrik hesaplama için hesaplayıcı bloğu oluşturur"""
url = f"{self.base_url}/api/{self.tenant_id}/{self.project_id}/block/calculator"
payload = {
'notebookId': notebook_id,
'blockTitle': title,
'blockDescription': description
}
response = requests.post(url, json=payload, headers=self.headers)
response.raise_for_status()
return response.json()
def create_alert_block(self, notebook_id: str, title: str, description: str) -> Dict[str, Any]:
"""İzleme için uyarı bloğu oluşturur"""
url = f"{self.base_url}/api/{self.tenant_id}/{self.project_id}/block/alert"
payload = {
'notebookId': notebook_id,
'blockTitle': title,
'blockDescription': description
}
response = requests.post(url, json=payload, headers=self.headers)
response.raise_for_status()
return response.json()
def create_analysis_pipeline(self, notebook_id: str) -> Dict[str, Any]:
"""Tüm blok türleriyle tam analiz hattı oluşturur"""
pipeline = {}
# Filtre bloğu oluştur
pipeline['filter'] = self.create_filter_block(
notebook_id,
'Veri Filtresi',
'Analiz kapsamında veri kümesini filtrele'
)
# Hesaplayıcı bloğu oluştur
pipeline['calculator'] = self.create_calculator_block(
notebook_id,
'Performans Hesaplayıcı',
'Temel performans metriklerini hesapla'
)
# Uyarı bloğu oluştur
pipeline['alert'] = self.create_alert_block(
notebook_id,
'Performans Uyarısı',
'Performans eşiklerini izle'
)
return pipeline
# Kullanım örneği
block_manager = BlockTypeManager(
'https://your-mindzie-instance.com',
'tenant-guid',
'project-guid',
'your-auth-token'
)
# Tam analiz hattı oluştur
pipeline = block_manager.create_analysis_pipeline('notebook-guid')
print(f"{len(pipeline)} blok içeren hat oluşturuldu")
Önemli Notlar
Blok Bağımlılıkları: Bloklar birbirine zincirlenebilir; filtre blokları veriyi azaltır, hesaplayıcı bloklar metrikleri hesaplar ve uyarı blokları sonuçları istisnalar için izler.
En İyi Uygulama: Öncelikle veri kapsamını daraltmak için filtre blokları kullanın, ardından analiz için hesaplayıcı blokları kullanın ve son olarak sürekli izleme ve bildirimler için uyarı blokları ekleyin.