Baca dalam bahasa Inggris

Bagikan melalui


Functoid kumulatif

Gambaran Umum

Functoid kumulatif mengurangi serangkaian nilai menjadi satu nilai seperti jumlah, string yang digabungkan, atau rata-rata.

Semua functoid kumulatif menerima dua parameter input:

  1. Nilai yang akan diakumulasikan. Nilai ini numerik untuk semua functoid kumulatif kecuali functoid Kumulatif Concatenate yang mengharapkan nilai string. Nilainya adalah tautan, sering kali dari Atribut Bidang, Elemen Bidang, atau simpul Rekaman (dengan properti Campurannya diatur ke True).

    Catatan

    Jika tidak ada node Rekaman leluhur di pohon skema yang berputar, menggunakan functoid Kumulatif tidak perlu.

  2. Cakupan di mana nilai terakumulasi. Argumen ini bersifat opsional. Argumen menunjukkan seberapa dekat terkait nilai yang ditentukan harus diakumulasikan.

    Tabel berikut ini memperlihatkan nilai untuk parameter cakupan dan efeknya:

Nilai Parameter Cakupan Efek
0 (zero) Mengakumulasi nilai di seluruh pesan instans. Default.
1 (satu) Mengakumulasi nilai elemen atau nilai atribut dengan elemen induk yang sama.
2 Mengakumulasi nilai elemen atau nilai atribut dengan elemen kakek-nenek yang sama.
3 atau lebih tinggi Mengakumulasi nilai elemen atau nilai atribut dari cakupan yang semakin luas mengikuti pola sebelumnya (kakek buyut, kakek buyut, dll.).

Contoh

Contoh penggunaan functoid Kumulatif mungkin menjumlahkan biaya di seluruh pesanan pembelian. Kode berikut adalah contoh pesanan pembelian.

<ns0:PurchaseOrder xmlns:ns0="http://CumulativeFunctoid.PurchaseOrder">  
    <From>Kevin F. Browne</From>  
    <To>Northwind Traders</To>  
    <LineItems>  
        <Item>  
            <Product>Laptop Computer</Product>  
            <Description>Thin profile laptop</Description>  
            <Price>1999.95</Price>  
            <Quantity>1</Quantity>  
        </Item>  
        <Item>  
            <Product>Monitor Swipes</Product>  
            <Description>Disposable monitor swipes</Description>  
            <Price>3.95</Price>  
            <Quantity>10</Quantity>  
        </Item>  
    </LineItems>  
</ns0:PurchaseOrder>  

Properti Max Occurs untuk rekaman Item , tentu saja , tidak terbatas. Ini menunjukkan bahwa perulangan rekaman item, dan BizTalk Mapper mengkompilasi rekaman ini sebagai perulangan.

Gambar berikut menunjukkan peta menggunakan functoid Multiplication dan functoid Jumlah Kumulatif untuk menggabungkan rekaman item dari pesanan pembelian masuk dan menghasilkan hasil di bidang POTotal :

Peta memperlihatkan penggunaan functoid jumlah kumulatif.

Peta menghasilkan output berikut dengan data sebelumnya dan dengan nilai parameter cakupan default, 0 (nol):

<ns0:SummedPO xmlns:ns0="http://CumulativeFunctoid.SummedPO">  
    <From>Kevin F. Browne</From>  
    <To>Northwind Traders</To>  
    <POTotal>2039.45</POTotal>  
</ns0:SummedPO>  

Dalam contoh ini, semua rekaman Item di bawah rekaman LineItems berpartisipasi dalam akumulasi—default untuk parameter cakupan menunjukkan akumulasi nilai di seluruh pesan. Bidang Harga dan Kuantitas dikirim ke functoid Perkalian . Output functoid Perkalian menjadi input ke functoid Jumlah Kumulatif . Output functoid Jumlah Kumulatif adalah nilai akumulasi karena rekaman Item dilalui dalam pesanan pembelian input.

Catatan

Agregasi kumulatif input terjadi di atas rekaman induk tempat tautan input berasal. Bahkan ketika functoid kumulatif mendapatkan masukannya dari functoid lain, agregasi kumulatif terjadi atas catatan induk tautan input ke functoid yang berfungsi sebagai input ke functoid Kumulatif .

Mengubah parameter cakupan menjadi 1 (satu) dan memodifikasi skema output sedikit, menghasilkan output seperti berikut:

<ns0:SummedPO xmlns:ns0="http://CumulativeFunctoid.SummedPO">  
    <From>Kevin F. Browne</From>  
    <To>Northwind Traders</To>  
    <ItemTotal>1999.95</ItemTotal>  
    <ItemTotal>39.5</ItemTotal>  
</ns0:SummedPO>  

Mengatur parameter cakupan ke 1 (satu) menunjukkan akumulasi nilai untuk elemen atau atribut dengan induk yang sama. Di sini bidang Harga dan Kuantitas memiliki Item sebagai induk sehingga functoid menjumlahkan nilai untuk setiap Item individual.

Jika parameter cakupan adalah 2, functoid mengakumulasi nilai untuk elemen atau atribut dengan kakek-nenek yang sama. Kakek-nenek bidang Harga dan Kuantitas adalah catatan LineItems . Karena hanya ada satu rekaman LineItems dalam pesan instans , hasilnya sama dengan menggunakan nilai default:

<ns0:SummedPO xmlns:ns0="http://CumulativeFunctoid.SummedPO">  
    <From>Kevin F. Browne</From>  
    <To>Northwind Traders</To>  
    <POTotal>2039.45</POTotal>  
</ns0:SummedPO>  

Catatan

Functoid kumulatif (kecuali untuk functoid String Kumulatif ) mengabaikan input non-numerik. Misalnya, nilai input "tiga" diabaikan.

Funktoid Rata-Rata Kumulatif, Minimum Kumulatif, dan Maksimum Kumulatif berperilaku mirip dengan funktoid Jumlah Kumulatif . String Kumulatif menggabungkan string daripada menggabungkan nilai numerik.

Functoid yang tersedia

Functoid kumulatif adalah:

  • Rata-rata Kumulatif
  • Gabungan Kumulatif
  • Maksimum Kumulatif
  • Minimum Kumulatif
  • Jumlah Kumulatif

Detail selengkapnya tentang functoid ini ada dalam panduan UI dan referensi namespace API pengembang.

Lihat juga