İşlem Madenciliği Modeli Bağlam Protokolü (MCP) sunucu başvurusu (önizleme)

[Bu makale yayın öncesi belgedir ve değişebilir.]

Process Mining MCP sunucusu, İşlem Madenciliği analiz özelliklerini yapay zeka aracılarına ve konuşma uygulamalarına sunan özel bir Model Bağlam Protokolü uygulamasıdır. Microsoft Copilot Studio gibi MCP uyumlu istemciler aracılığıyla işlem analiziyle doğal dil etkileşimlerine olanak tanıyan süreç madenciliği verilerine programlı erişim sağlar.

Önemli

  • Bu bir önizleme özelliğidir.
  • Önizleme özellikleri, üretimde kullanıma yönelik değildir ve sınırlı işlevselliğe sahip olabilir. Bu özellikler, müşterilerin erken erişim elde etmesi ve geri bildirim sağlaması amacıyla resmi sürümden önce kullanıma sunulur.
  • Daha fazla bilgi için önizleme koşulları sayfamıza gidin.

Önemli özellikler:

  • İşlem bulma: Kullanılabilir işlemleri ve bunların meta verilerini listeleme ve keşfetme
  • Analiz ve ölçümler: Performans sorunu analizi, çeşitlemeler, servis talepleri, kenarlar ve toplu ölçümler alma
  • Bağıntı analizi: İşlem performansı üzerindeki öznitelik etkilerini belirleme
  • Gelişmiş filtreleme: Öznitelikler, zaman çerçeveleri, ölçümler, alt işlemler ve diziler arasında karmaşık filtreler uygulama
  • Uzun süre çalışan işlemler: İlerleme bildirimleri içeren karmaşık sorgular için destek

Mimari:

  • Sunucu tarafı bileşeni: Power Platform ve Dataverse ile tümleştirilir
  • Kimlik doğrulaması: Ortam bağlamı ile Azure AD tabanlı
  • Bağlayıcı: Power Platform bağlayıcıları kataloğunda önceden oluşturulmuş bir İşlem Madenciliği bağlayıcısı olarak kullanılabilir
  • Protokol: Model Bağlam Protokolü (MCP) standardı

Önkoşullar

Aşağıdaki listede İşlem Madenciliği MCP sunucusunu kullanmaya yönelik önkoşullar yer alır.

  • Etkin İşlem Madenciliği lisansı
  • Power Platform'da en az bir alınan işlemle yapılandırılan İşlem Madenciliği ortamı
  • Azure AD kimlik doğrulaması
  • İşlem Madenciliği bağlayıcısı yapılandırılmış MCP uyumlu istemci (örneğin, Copilot Studio)

Kullanılabilir MCP araçları

Sunucu, amaca göre düzenlenmiş dokuz (9) aracı kullanıma sunar. Her araç belirli parametreleri kabul eder ve yapılandırılmış analiz verilerini döndürür.

İşlem bulma araçları

Kullanılabilir işlemleri ve bunların yapılandırmasını bulmak için bu araçları kullanın.

Araç adı Amaç Anahtar parametreleri
get_processes Kimlikler ve adlarla tüm işlemleri listeler Hiçbiri (ortam bağlamı kullanır)
get_process_details Öznitelikleri, özel ölçümleri, iş kurallarını alır processId (Guid)
get_attribute_values Sayfalandırma ile belirli öznitelik için değerleri alır processId, attributeName, itemsPerPage, itemsToSkip

get_processes

Geçerli ortamda kimliği doğrulanmış kullanıcının erişebileceği tüm işlemleri listeler.

Parametreler:

Parametre Type Varsayılan Gerekli Açıklama
Hiçbiri - - - Ortamı belirlemek için kimlik doğrulama bağlamı kullanır

İade:

  • processId ve processName ile EntityListItem dizisi

Örnek kullanım:

User: "What processes are available?"
Tool: get_processes
Response: List of processes with IDs

Ne zaman kullanılır:

  • Kullanılabilir işlemleri keşfederken çağrılan ilk araç
  • Sonraki araç çağrıları için geçerli işlem kimlikleri alma
  • Kullanıcının belirli işlemlere erişimi olduğunu doğrulama

get_process_details

Öznitelikler, özel ölçümler ve iş kuralları gibi belirli bir işlem için kapsamlı meta verileri alır.

Parametreler:

Parametre Type Varsayılan Gerekli Açıklama
Processıd Guid - Yes İşlemin benzersiz tanımlayıcısı

İade:

  • GetAnalyticsMetadataResult içeriği:
    • Öznitelikler: Olay düzeyi ve olay düzeyi öznitelikleri
    • Özel ölçümler: Kullanıcı tanımlı ölçümler
    • İş kuralları: İşlem için yapılandırılmış kurallar

Örnek kullanım:

User: "Tell me about the Order-to-Cash process attributes"
Tool: get_process_details with processId
Response: Attributes (Department, Customer, Activity), custom metrics, business rules

Ne zaman kullanılır:

  • Filtreleri oluşturmadan önce (geçerli öznitelik adlarını bulmak için)
  • İşlem şemasını ve kullanılabilir ölçümleri anlama
  • Olay düzeyi ve olay düzeyi özniteliklerini tanımlama (bağıntı analizi için önemlidir)

Tip

Özniteliğin büyük/küçük harf düzeyinde olduğunu doğrulamak için get_correlation kullanmadan önce her zaman get_process_details çağırın.

get_attribute_values

Sayfalandırma desteğine sahip belirli bir özniteliğin tüm değerlerini alır.

Parametreler:

Parametre Type Varsayılan Gerekli Açıklama
Processıd Guid - Yes İşlemin benzersiz tanımlayıcısı
öznitelik adı dize - Yes Değerlerini alınacak özniteliğin adı
itemsPerPage int 20 No Sayfa başına öğe sayısı (maksimum dağıtıma göre değişir)
itemsToSkip int 0 No Sayfalandırma için uzaklık

İade:

  • McpAnalyticsListResult ile:
    • items: Öznitelik değerlerini ve ilişkili ölçümleri içeren sözlük dizisi
    • uzaklık: Geçerli sayfalandırma uzaklığı
    • sınır: Sayfa boyutu
    • totalCount: Toplam kullanılabilir kayıt sayısı

Örnek kullanım:

User: "What departments are in the Order-to-Cash process?"
Tool: get_attribute_values with processId, attributeName="Department"
Response: List of department values (Sales, Finance, Warehouse)

Ne zaman kullanılır:

  • Filtreleme için geçerli değerleri bulma
  • Öznitelik dağıtımlarını keşfetme
  • Dinamik filtre URI'leri oluşturma

Analiz ve ölçüm araçları

İşlem performansını analiz etmek, performans sorunlarını belirlemek ve ölçümleri almak için bu araçları kullanın.

Araç adı Amaç Anahtar parametreleri
get_process_overall_metrics Toplu işlem düzeyi ölçümleri processId, filterOptions
get_bottleneck_analysis En uzun süreli etkinlikler processId, filterOptions
get_variants_with_metrics Ölçümlerle işlem varyantları processId, filterOptions, metricToSortBy
get_edges_with_metrics Ölçümlerle akış kenarlarını işleme processId, filterOptions
get_cases_with_metrics Ölçümlerle tek tek servis talepleri processId, filterOptions, metricToSortBy

get_process_overall_metrics

Belirtilen işlem ve filtreler için toplu işlem düzeyi ölçümleri döndürür.

Parametreler:

Parametre Type Varsayılan Gerekli Açıklama
Processıd Guid - Yes İşlemin benzersiz tanımlayıcısı
filterOptions McpFilterOptions sıfır No Uygulanacak isteğe bağlı filtreler
itemsPerPage int 20 No Sayfa başına öğe sayısı
itemsToSkip int 0 No Sayfalandırma için uzaklık

İade:

  • Ölçüm anahtar-değer çiftlerinin sözlüğü:
    • Toplam servis talebi sayısı
    • Ortalama/ortanca/en düşük/maksimum büyük/küçük harf süresi
    • Aktarım hızı ölçümleri
    • SLA uyumluluk ölçümleri

Örnek kullanım:

User: "What are the overall metrics for Order-to-Cash?"
Tool: get_process_overall_metrics with processId
Response: 1,245 cases, avg duration 4.2 days, median 3.8 days

Ne zaman kullanılır:

  • Üst düzey işlem özetleri
  • Filtrelenmiş ile genel performansı karşılaştırma
  • Temel ölçümleri oluşturma

get_bottleneck_analysis

Performans sorunlarını belirlemek için etkinlikleri analiz eder ve süreye (azalan) göre sıralanmış olarak döndürür.

Parametreler:

Parametre Type Varsayılan Gerekli Açıklama
Processıd Guid - Yes İşlemin benzersiz tanımlayıcısı
itemsPerPage int 20 No Sayfa başına öğe sayısı
itemsToSkip int 0 No Sayfalandırma için uzaklık
mcpFilterOptions McpFilterOptions sıfır No Uygulanacak isteğe bağlı filtreler

İade:

  • Süreye göre sıralanmış etkinliklerle McpAnalyticsListResult (azalan)
  • Her öğe şu öğeleri içerir:
    • Değer: Etkinlik adı
    • Süre: Etkinlik için ortalama süre
    • İstenen ek ölçümler

Özel davranış:

  • "Activity" özniteliğini analiz etmek için önceden yapılandırılmış
  • Süre ve Değer ölçümlerini otomatik olarak içerir
  • Süreye göre azalan düzende sıralanmış

Örnek kullanım:

User: "What are the top 3 bottlenecks in Order-to-Cash?"
Tool: get_bottleneck_analysis with processId, itemsPerPage=3
Response:
1. Approve Order - Avg duration: 3.2 days
1. Credit Check - Avg duration: 2.8 days
1. Prepare Shipment - Avg duration: 2.1 days

Ne zaman kullanılır:

  • İşlem performans sorunlarını tanımlama
  • İyileştirme çalışmalarının önceliğini belirleme
  • Departmana özgü veya segmente özgü performans sorunlarını analiz etme (filtrelerle)

Tip

Belirli departmanlara odaklanan performans sorunu analizi için, segmente özgü performans sorunlarını belirlemek için AttributeValueFilter ile birleştirin.

get_variants_with_metrics

İlişkili ölçümlerle işlem değişkenlerini (benzersiz etkinlik dizileri) alır.

Parametreler:

Parametre Type Varsayılan Gerekli Açıklama
Processıd Guid - Yes İşlemin benzersiz tanımlayıcısı
filterOptions McpFilterOptions sıfır No Uygulanacak isteğe bağlı filtreler
itemsPerPage int 20 No Sayfa başına öğe sayısı
itemsToSkip int 0 No Sayfalandırma için uzaklık
metricToSortBy VariantMetric CaseDuration No Sonuçları sıralama ölçütü olarak ölçüm
sortOrder Sıralama Azalan No Sıralama yönü (Artan/Azalan)

İade:

  • McpAnalyticsListResult ve çeşitli değişkenler:
    • Değişken yol (etkinlik dizisi)
    • Sıklık ve büyük/küçük harf sayısı
    • Süre ölçümleri
    • Davranışsal sapma göstergeleri

Örnek kullanım:

User: "What are the most common process variants?"
Tool: get_variants_with_metrics with processId, metricToSortBy=CaseCount, sortOrder=Descending
Response: Top 3 variants with frequencies and durations

Ne zaman kullanılır:

  • Mutlu yolu ve sorunlu varyantları tanımlama
  • Süreç uyumluluğu analizi
  • Yeniden çalışma döngülerini ve sapmalarını bulma
  • Değişken performansı karşılaştırma

get_edges_with_metrics

Sıklık ve süre ölçümlerine sahip etkinlikler arasındaki geçişleri (kenarlar) alır.

Parametreler:

Parametre Type Varsayılan Gerekli Açıklama
Processıd Guid - Yes İşlemin benzersiz tanımlayıcısı
filterOptions McpFilterOptions sıfır No Uygulanacak isteğe bağlı filtreler
itemsPerPage int 20 No Sayfa başına öğe sayısı
itemsToSkip int 0 No Sayfalandırma için uzaklık

İade:

  • McpAnalyticsListResult ve kenarlar:
    • Etkinlikten etkinliğe
    • Geçiş sıklığı
    • Geçiş süresi
    • Sapma göstergeleri

Örnek kullanım:

User: "Show me the process flow transitions"
Tool: get_edges_with_metrics with processId
Response: Activity transitions with frequencies (e.g., Create Order → Approve Order: 1,100 cases)

Ne zaman kullanılır:

  • İşlem akışı yapısını anlama
  • Yönlendirme karmaşıklığını belirleme
  • Performans sorunu geçişlerini bulma
  • Teslim gecikmelerini analiz etme

get_cases_with_metrics

İlişkili ölçümlere ve özniteliklere sahip tek tek servis taleplerini alır.

Parametreler:

Parametre Type Varsayılan Gerekli Açıklama
Processıd Guid - Yes İşlemin benzersiz tanımlayıcısı
filterOptions McpFilterOptions sıfır No Uygulanacak isteğe bağlı filtreler
itemsPerPage int 20 No Sayfa başına öğe sayısı
itemsToSkip int 0 No Sayfalandırma için uzaklık
metricToSortBy CaseMetric Süre No Sonuçları sıralama ölçütü olarak ölçüm
sortOrder Sıralama Azalan No Sıralama yönü (Artan/Azalan)

İade:

  • McpAnalyticsListResult ve örnekler:
    • Servis Talebi Kimliği
    • Süre, etkin süre, bekleme süresi
    • Olay sayısı
    • Öznitelik değerleri

Örnek kullanım:

User: "Show me cases that took longer than 5 days"
Tool: get_cases_with_metrics with processId, filterOptions (MetricConditionFilter for Duration>5 days)
Response: List of cases exceeding 5 days with details

Ne zaman kullanılır:

  • Ayrıntılı olay araştırması
  • Aykırı durumları tanımlama
  • Belirli durumlar için kök neden analizi
  • Daha fazla analiz için servis talebi verilerini dışarı aktarma

Bağıntı çözümleme araçları

Özniteliklerin işlem ölçümlerini nasıl etkilediğini belirlemek için bu aracı kullanın.

Araç adı Amaç Anahtar parametreleri
get_correlation İşlem ölçümlerinde öznitelik etkisi processId, attributeName, influenceFormula

get_correlation

Etkileri belirlemek için öznitelik değerleri ve işlem ölçümleri arasındaki bağıntıyı hesaplar.

Parametreler:

Parametre Type Varsayılan Gerekli Açıklama
Processıd Guid - Yes İşlemin benzersiz tanımlayıcısı
öznitelik adı dize - Yes Özniteliğin adı (büyük/küçük harf düzeyinde olmalıdır)
influenceFormula InfluenceFormula - Yes Üzerindeki etkiyi analiz etmek için ölçüm
sortOrder Sıralama Azalan No Etki değerleri için sıralama yönü
filterOptions McpFilterOptions sıfır No Uygulanacak isteğe bağlı filtreler

İade:

  • Her öznitelik değeri için etki değerleriyle McpAnalyticsListResult
  • Daha yüksek değerler seçili ölçüm üzerinde daha güçlü etki gösterir

Kullanılabilir etki formülleri:

  • ActiveTimeInfluence
  • CaseUtilizationInfluence
  • DurationInfluence
  • EventCountInfluence
  • LoopCountInfluence
  • ReworkCountInfluence
  • SelfloopCountInfluence
  • WaitingTimeInfluence

Örnek kullanım:

User: "Does department influence process duration?"
Tool: get_correlation with processId, attributeName="Department", influenceFormula=DurationInfluence
Response: Sales: 0.75 (high), Finance: 0.42 (moderate), Warehouse: 0.18 (low)

Ne zaman kullanılır:

  • Kök neden analizi
  • Düşük performansa katkıda bulunan segmentleri belirleme
  • İyileştirme çalışmalarını etkilerine göre önceliklendirme
  • Ölçümlerdeki öznitelik etkilerini anlama

Önemli

get_correlation aracı yalnızca büyük/küçük harf düzeyi özniteliklerle çalışır. Olay düzeyi özniteliklerinin (Etkinlik gibi) kullanılması şu hataya neden olur: "Büyük/küçük harf düzeyi olmayan öznitelikler için bağıntı hesaplanamaz."

İstek ve yanıt yapıları

Aşağıdaki bölümlerde ortak istek parametreleri ve yanıt yapıları açıklanmaktadır.

Ortak istek parametreleri

Çoğu araç, sayfalandırma ve sıralama için bu standart parametreleri kabul eder.

Parametre Type Varsayılan Açıklama
Processıd Guid Gerekli İşlemin benzersiz tanımlayıcısı (get_processes dışında)
itemsPerPage int 50 Sayfa başına döndürülecek öğe sayısı
itemsToSkip int 0 Atlanması gereken öğe sayısı (sayfalandırma için uzaklık)
metricToSortBy dize Araclara göre değişir Sonuçları sıralamak için ölçüm adı
sortOrder Sıralama Azalan Sıralama yönü (Artan veya Azalan)
filterOptions McpFilterOptions sıfır Karmaşık filtreleme seçenekleri (bkz. Filtre Seçenekleri bölümü)

Yanıt yapısı

Aşağıdaki bölümlerde yanıt yapıları için ayrıntılar sağlanır.

McpAnalyticsListResult

Liste tabanlı sorgular için standart yanıt biçimi.

{
  "items": [
    {
      "metric1": "value1",
      "metric2": 123.45,
      "metric3": 456
    },
    {
      "metric1": "value2",
      "metric2": 98.76,
      "metric3": 321
    }
  ],
  "offset": 0,
  "limit": 50,
  "totalCount": 500
}

Alanları:

  • items: Ölçüm anahtar-değer çiftlerini içeren sözlük dizisi
    • Anahtarlar ölçüm adlarıdır (örneğin, "Süre", "Değer", "CaseCount")
    • Değerler ölçüm değerleridir (dizeler, sayılar, tarihler)
  • uzaklık: Geçerli sayfalandırma uzaklığı (eşittir itemsToSkip parametresi)
  • limit: Sayfa boyutu (eşittir itemsPerPage parametresi)
  • totalCount: Kullanılabilir toplam kayıt sayısı (sayfalandırma için kullanın)

Sayfalama örneği:

Request 1: itemsPerPage=50, itemsToSkip=0 → Returns items 1-50
Request 2: itemsPerPage=50, itemsToSkip=50 → Returns items 51-100
Request 3: itemsPerPage=50, itemsToSkip=100 → Returns items 101-150
Continue while offset + limit < totalCount

Uzun süreli işlemler

Karmaşık sorgular ek işlem süresi gerektirebilir. MCP sunucusu, sunucu tarafı yoklama, akış ilerleme durumu güncelleştirmeleri ile bu işlemleri zaman uyumsuz olarak işler.

İşlem akışı:

  1. İlk istek: İstemci MCP sunucusuna araç çağırma isteği gönderir
  2. Sunucu tarafı işleme: API, yoklamayı dahili olarak işler; sunucu analiz altyapısının sorguyu tamamlamasını bekler. İstemci tarafı yoklama gerekmez.
  3. İlerleme bildirimleri: Sunucu akışları, Server-Sent Olayları (SSE) aracılığıyla istemciye otomatik olarak ilerleme güncelleştirmesi gönderir. İlerleme bildirimleri işleme sırasında yaklaşık 5 saniyede bir gönderilir.
  4. Tamamlama: Sunucu Başarılı, FailedClientError veya FailedAnalyticsError durumuyla son sonucu döndürür

Son durumlar:

  • Başarılı: Yanıt olarak kullanılabilir sonuçlar
  • FailedClientError: Doğrulama hatası (geçersiz parametreler, filtreler)
  • FailedAnalyticsError: Analiz altyapısı işleme hatası

Uzun süre çalışan işlemler için tipik senaryolar:

  • Büyük veri kümesi sorguları (>10.000 olay)
  • Birden çok koşula sahip karmaşık filtreler
  • Birçok öznitelik değeri arasında bağıntı analizi
  • Derin işlem karmaşıklığı ile değişken analizi

Uyarı

Sunucu tüm yoklamayı dahili olarak işler. İstemciler yoklama mantığını uygulamaya gerek kalmadan SSE aktarımı aracılığıyla ilerleme bildirimi alır. Bu yaklaşım, MCP'nin Akışla Aktarılabilir HTTP aktarımıyla uyumludur.

Filtre seçenekleri başvurusu

McpFilterOptions yapısı, beş filtre türü aracılığıyla veri alma üzerinde hassas denetim sağlar. Filtreler birleştirilerek karmaşık sorgular oluşturulabilir.

Filtre bileşimi mantığı

  • McpFilterOptions içindeki tüm filtre türleri AND mantığıyla birleştirilir
  • Aynı türdeki birden çok filtre OR mantığıyla birleştirilir
  • Her filtrenin bir isInclusive özelliği vardır (varsayılan: true)
    • isInclusive=true: Eşleşen kayıtları dahil et
    • isInclusive=false: Eşleşen kayıtları dışla

Örnek:

AttributeValueFilters: [Department=Sales OR Department=Marketing]
AND
MetricConditionFilters: [Duration > 5 days]
= Cases from Sales OR Marketing with duration > 5 days

AttributeValueFilter

Belirli öznitelik değerlerine (departman, kullanıcı, etkinlik adı gibi) göre filtreler.

Özellikler:

Özellik Type Gerekli Açıklama
öznitelik adı dize Yes Filtre uygulamak için özniteliğin adı
öznitelikDeğerler string[] Yes Dahil etmek veya dışlamak için değerlerin listesi
isInclusive bool Hayır (varsayılan: true) Eşleşen değerleri ekleme (true) veya dışlama (yanlış)

Örnek JSON:

{
  "attributeValueFilters": [
    {
      "attributeName": "Department",
      "attributeValues": ["Sales", "Marketing"],
      "isInclusive": true
    }
  ]
}

Kullanım örnekleri:

  • Belirli departmanlara, kullanıcılara veya müşteri segmentlerine göre filtreleme
  • Test verilerini veya belirli etkinlikleri hariç tutma
  • İşlemin alt kümelerini analiz etme

Doğrulama kuralları:

  • attributeName boş olmamalıdır
  • attributeValues dizisi en az bir değer içermelidir
  • İşlem şemasında öznitelik adı bulunmalıdır (doğrulamak için get_process_details çağır)

TimeframeFilter

Servis talebi veya olay zaman damgaları için tarih/saat aralıklarına göre filtreler.

Özellikler:

Özellik Type Gerekli Açıklama
startDate Tarih/Saat Yes Zaman çerçevesinin başlangıcı (dahil)
Bitiş Tarihi Tarih/Saat Yes Zaman çerçevesi sonu (dahil)
isInclusive bool Hayır (varsayılan: true) Zaman çerçevelerini dahil et (true) veya hariç tutma (yanlış)

Örnek JSON:

{
  "timeframeFilters": [
    {
      "startDate": "2025-01-01T00:00:00Z",
      "endDate": "2025-12-31T23:59:59Z",
      "isInclusive": true
    }
  ]
}

Kullanım örnekleri:

  • Belirli dönemleri (üç aylık dönemler, aylar, yıllar) analiz etme
  • Geçmiş verileri dışlama
  • Zaman aralığı performansını karşılaştırma

Doğrulama kuralları:

  • startDate endDate öncesinde olmalıdır
  • Tarih biçimi geçerli ISO 8601 olmalıdır

Önemli

startDate endDate sonrasındaysa doğrulama hatası oluşur. Göndermeden önce her zaman tarih aralığını doğrulayın.

MetricConditionFilter

Ölçüm değeri eşiklerine göre filtreler (örneğin, süre > 5 gün, olay sayısı < 10).

Özellikler:

Özellik Type Gerekli Açıklama
metric McpFilterMetricType Yes Filtre uygulamak için ölçüm
customMetricId Guid Koşullu Ölçüm CustomMetric ise gereklidir
comparisonOperator ValueFilterExpressionOperator Yes Karşılaştırma işleci
dataType ValueFilterDataType Yes Değerin veri türü
değer Nesne Yes Karşılaştıracak değer
isInclusive bool Hayır (varsayılan: true) Eşleşmeleri dahil et (true) veya hariç tutma (yanlış)

Kullanılabilir ölçümler (McpFilterMetricType):

Ölçüm Türü Açıklama
EventDuration Tek tek olayların süresi
CaseDuration Baştan sona toplam servis talebi süresi
CaseActiveTime Etkin olarak işlenmek için harcanan süre (bekleme süresi hariç)
CaseWaitingTime Etkinlikler arasında beklerken harcanan süre
CaseUtilization Servis talebi kullanım yüzdesi
CaseCumulativeUtilization Servis talebi yaşam döngüsü genelinde toplu kullanım
CaseEventCount Servis talebi başına olay sayısı
CaseSelfLoopCount Kendi kendine döngü sayısı (aynı etkinlik hemen yinelenir)
CaseLoopCount Döngü sayısı (yineleyen etkinlik dizileri)
CaseReworkCount Yeniden çalışma örneklerinin sayısı
CustomMetric Kullanıcı tanımlı ölçüm (customMetricId gerektirir)

Karşılaştırma işleçleri:

  • EqualTo
  • NotEqualTo
  • GreaterThan
  • GreaterThanOrEqualTo
  • LessThan
  • LessThanOrEqualTo

Veri türleri:

  • Dize
  • Sayı
  • Süre (süre)
  • Tarih/Saat

Örnek JSON:

{
  "metricConditionFilters": [
    {
      "metric": "CaseDuration",
      "comparisonOperator": "GreaterThan",
      "dataType": "Time",
      "value": "5.00:00:00",
      "isInclusive": true
    }
  ]
}

Kullanım örnekleri:

  • SLA eşiklerini aşan servis taleplerini belirleme
  • Yüksek değerli veya düşük değerli durumlara göre filtreleme
  • Belirli özelliklere sahip servis taleplerini analiz etme (örneğin, yüksek yeniden çalışma sayısı)

Doğrulama kuralları:

  • Ölçüm CustomMetric olduğunda CustomMetricId gerekir
  • Değer belirtilen dataType ile eşleşmelidir
  • Ölçüm sorgu bağlamı için geçerli olmalıdır

SubProcessFilter

Başvuru etkinliklerinin ardından göreli etkinliklerin geldiği alt işlem desenlerine göre filtreler.

Özellikler:

Özellik Type Gerekli Açıklama
öznitelik adı dize Yes Öznitelik adı (genellikle "Etkinlik")
referenceAttributeValues string[] Yes Alt işlemde etkinlikleri başlatma
relativeAttributeValues string[] Yes Alt işlemdeki etkinlikleri sonlandırma
isInclusive bool Hayır (varsayılan: true) Alt işleme dahil et (true) veya dışla (yanlış)

Örnek JSON:

{
  "subProcessFilters": [
    {
      "attributeName": "Activity",
      "referenceAttributeValues": ["Create Order"],
      "relativeAttributeValues": ["Ship Goods"],
      "isInclusive": true
    }
  ]
}

Kullanım örnekleri:

  • Belirli alt işlem akışlarını analiz etme
  • Belirli yolları izleyen servis taleplerini belirleme
  • Belirli alt işlem desenlerini hariç tutma

Doğrulama kuralları:

  • attributeName boş olmamalıdır
  • referenceAttributeValues ve relativeAttributeValues değerlerinin her biri en az bir değer içermelidir

AttributeSequenceFilter

Belirli ilişki türlerine sahip etkinlik dizilerine göre filtreler (doğrudan takip edilen, sonunda takip edilen vb.).

Özellikler:

Özellik Type Gerekli Açıklama
öznitelik adı dize Yes Öznitelik adı (genellikle "Etkinlik")
relationType SequenceFilterRelationType Yes Etkinlikler arasındaki ilişki türü
referenceAttributeValues string[] Yes Sırayla ilk etkinlikler
relativeAttributeValues string[] Yes Sıralı olarak ikinci etkinlikler
isInclusive bool Hayır (varsayılan: true) Sırayı dahil et (true) veya hariç tutma (yanlış)

İlişki türleri:

  • DirectFollowed: Başvuru etkinliğinin ardından doğrudan göreli etkinlik gelir (aralarında etkinlik yoktur)
  • SonundaKlasılan: Başvuru etkinliği sonunda göreli etkinlik takip eder (diğer etkinlikler arasında olabilir)

Örnek JSON:

{
  "attributeSequenceFilters": [
    {
      "attributeName": "Activity",
      "relationType": "DirectlyFollowed",
      "referenceAttributeValues": ["Approve Order"],
      "relativeAttributeValues": ["Credit Check"],
      "isInclusive": true
    }
  ]
}

Kullanım örnekleri:

  • Belirli etkinlik dizilerini zorunlu kılma
  • Uyumluluk ihlallerini tanımlama
  • Belirli bir sıralamaya sahip servis taleplerini analiz etme

Doğrulama kuralları:

  • attributeName boş olmamalıdır
  • referenceAttributeValues ve relativeAttributeValues değerlerinin her biri en az bir değer içermelidir

Hata işleme

Aşağıdaki bölümlerde sorunları çözmenize yardımcı olabilecek yaygın hata kodları, doğrulama hataları ve yanıt biçimi açıklanmaktadır.

Hata kodları

MCP sunucusu üç birincil hata kodu kullanır:

Hata Kodu Açıklama Olası Nedenler
InvalidParams Geçersiz parametre değerleri Boş GUID, null gerekli alan, geçersiz zaman çerçevesi, boş diziler
InvalidRequest İstek yapısı veya iş kuralı ihlalleri Varolmayan öznitelik adları, filtre söz dizimi hataları, desteklenmeyen işlemler
Dahili Hata Sunucu tarafı işleme hataları Analiz altyapısı hataları, veri tutarsızlıkları, hizmetin kullanılamaması

Yaygın doğrulama hataları

Boş processId

Hata: "processId (Guid) işlemin kimliği olmalıdır." Neden: processId parametresi boş veya geçersiz Çözüm: Geçerli işlem kimliklerini almak için get_processes kullanın

Geçersiz zaman çerçevesi

Hata: "StartDate, EndDate öncesinde olmalıdır." Neden: TimeframeFilter endDate Çözümlemesi'nin ardından startDate'a sahip: İstek göndermeden önce tarih aralığını doğrulama

Öznitelik adı eksik

Hata: "Öznitelik adı sağlanmalıdır." Neden: filtre Çözümlemesinde attributeName null veya boş: İşlem şemasından geçerli öznitelik adı sağlayın

Boş öznitelik değerleri

Hata: "Öznitelik değerleri en az bir değer içermelidir." Neden: AttributeValueFilter Çözümlemesinde attributeValues dizisi boş: Diziye en az bir değer ekleyin

Özel ölçüm kimliği eksik

Hata: "Ölçüm CustomMetric olduğunda CustomMetricId gereklidir." Neden: ölçüm CustomMetric ancak customMetricId sağlanmadı Çözüm: Özel ölçümün GUID değerini sağlayın

Bağıntıda büyük/küçük harf düzeyi olmayan öznitelik

Hata: "Büyük/küçük harf düzeyi olmayan öznitelikler için bağıntı hesaplanamaz." Neden: Olay düzeyi özniteliğiyle get_correlation deneniyor (örneğin, "Etkinlik") Çözüm: Yalnızca büyük/küçük harf düzeyi öznitelikleri kullanın (örneğin, "Departman", "Müşteri"); büyük/küçük harf düzeyindeki öznitelikleri tanımlamak için get_process_details çağırma

Hata yanıtı biçimi

{
  "error": {
    "code": "InvalidParams",
    "message": "Attribute name must be provided."
  }
}

Önerilen yöntemler

Aşağıdaki en iyi yöntemler İşlem Madenciliği MCP sunucusunu etkili bir şekilde kullanmanıza yardımcı olabilir.

Her zaman önce işlem ayrıntılarını alın

Sorguları oluşturmadan önce kullanılabilir öznitelikleri, ölçümleri ve iş kurallarını bulmak için get_process_details kullanın.

Neden: Öznitelik adlarının işlem şemasıyla eşleşmesini sağlar, doğrulama hatalarını önler, olay düzeyi öznitelikleri ile olay düzeyi özniteliklerini tanımlar.

Step 1: get_processes → Obtain processId
Step 2: get_process_details with processId → Discover attributes
Step 3: Use discovered attributes in filters and queries

Büyük veri kümeleri için sayfalandırma uygulama

Tüm liste işlemleri için itemsPerPage ve itemsToSkip kullanın. Daha fazla sayfa olup olmadığını belirlemek için totalCount'ı izleyin.

Önerilen sayfa boyutları:

  • Varsayılan: Sayfa başına 50 öğe
  • Büyük veri kümeleri: Sayfa başına 20 öğe (daha hızlı yanıt süreleri)
  • Küçük veri kümeleri: Sayfa başına 100 öğe (daha az gidiş dönüş)
let allItems = [];
let offset = 0;
const pageSize = 50;

do {
  const response = await getTool(processId, pageSize, offset);
  allItems.push(...response.items);
  offset += pageSize;
} while (offset < response.totalCount);

Veri hacmini azaltmak için filtrelemeyi kullanma

İşleme süresini ve yanıt yükü boyutunu azaltmak için sorgu zincirinizin başlarında AttributeValueFilter ve TimeframeFilter uygulayın.

Filtre önceliği:

  1. TimeframeFilter (veri kümesini hızla azaltır)
  2. AttributeValueFilter (belirli segmentlere göre daraltılıyor)
  3. MetricConditionFilter (sonuçları daha da iyileştirin)

Uzun süre çalışan işlemleri işleme

Uzun süre çalışan işlemler sunucu tarafından otomatik olarak işlenir. API, şirket içinde sunucu tarafı yoklama kullanır ve Server-Sent Olayları (SSE) aracılığıyla istemciye ilerleme güncelleştirmelerini akışla aktarır. İstemci tarafı yoklama uygulaması gerekmez.

Bekleyebileceğiniz şeyler:

  1. Sunucu, karmaşık sorguları sizin yerinize zaman uyumsuz olarak işler
  2. İlerleme bildirimleri SSE aktarımı aracılığıyla otomatik olarak teslim edilir
  3. İşlem tamamlandığında nihai sonuç döndürülür
  4. Alındığında son sonuçları kullanıcıya görüntüleme

Önbellek işlemi meta verileri

İşlem ayrıntıları (öznitelikler, ölçümler, iş kuralları) seyrek değişir. API çağrılarını azaltmak için önbellek get_process_details yanıtı.

Önbellek geçersizleştirme tetikleyicileri:

  • İşlem yeniden işleme
  • Yapılandırma değişiklikleri
  • Kullanıcı tarafından başlatılan yenileme

İstemci tarafında filtreleri doğrulama

Gidiş dönüş hatalarını azaltmak için istek göndermeden önce tarih aralıklarını, öznitelik adlarını ve gerekli alanları denetleyin.

İstemci tarafı doğrulama denetim listesi:

  • [ ] ProcessId boş olmayan GUID
  • [ ] TimeframeFilter: startDate < endDate
  • [ ] AttributeValueFilter: attributeName boş değil, attributeValues en az bir öğe içeriyor
  • [ ] MetricConditionFilter: ölçüm CustomMetric ise customMetricId sağlandı
  • [ ] Öznitelik adları işlem şemasıyla eşleş

Bağıntıyı stratejik olarak kullanma

Bağıntı analizi hesaplama açısından yoğundur. Bağıntıyı çalıştırmadan önce veri kümesini azaltmak için önce filtreleri uygulayın.

En iyi yöntemler:

  • Özniteliğin büyük/küçük harf düzeyinde olduğunu doğrulama (çağrı get_process_details)
  • Önce TimeframeFilter ve AttributeValueFilter uygulama
  • Araştırma için değil hipotez testi için kullanın
  • Belirli kesimler için önbellek sonuçları