バンドに関係のない合計

レポートの合計の計算は、{Sum(Da​​taBand1)}などの式を指定することで実行できます。同時に、レポートのレンダリング時に合計が計算されます。DataBandを使用した操作が実行されるたびに、単一の値が計算されます。次に、計算されたすべての値が合計され、合計値が表示されます。この場合、合計はバンドに関連付けられます。Stimulsoftレポートの合計の計算は、別の方法で、つまり即座に行うことができます。つまり、バンドに関連付けられていない合計を計算します。これを行うには、関数の前に区切り文字「。」を付けた特別なプレフィックスTotalsを使用します(例:{Totals.Sum(Da​​taBand1)})。接頭辞Totalsが付いた関数の計算は、バンドに関連付けられた合計ではなく、関数が呼び出された場所で行われます。

合計関数:

関数説明サンプル
{Avg()}when算術平均を計算します。引数で、1つまたは2つのオブジェクトを指定します
選択された関数に応じて、異なる型(double, decimal, long, DateTime, TimeSpan)の値を返します。
{Avg(DataSource.Column1)}-Column1列の算術平均が計算されます。
{AvgDate(DataSource.ColumnDate)}-ColumnDate列の日付の平均が計算されます。
{AvgTime(DataSource.ColumnTime)}-ColumnTime列による平均時間が計算されます。 すべての関数は2つの引数を持つことができます。たとえば、レポートはいくつかのデータバンドを使用します。最初のデータバンドの算術平均を計算する必要があります。この場合、最初の引数はバンドで、2番目の引数は計算のオブジェクトです-{Avg(DataBand1、DataSource.Column2)}。その結果、Column2の算術平均が計算されますが、DataBand1値のみが計算されます。
{Count()}値の数または一意の値の数を計算します。
引数で、値、オブジェクト、または2つのオブジェクトを指定します。
さまざまなlong型の値を返します。
{Count()}-結果はデー​​タソースのエントリ数です。 
{Count(DataBand1、DataSource.Column1)}-結果は、DataBand1のColumn1列のエントリ数です。 
{CountDistinct(DataSource.Column1)}-結果は、DataSource.Column1の一意のエントリの数です。 
{CountDistinct(DataBand2、DataSource.Column2)}-結果は、DataBand2のColumn2列の一意のエントリの数です。
{First()}指定されたオブジェクトの最初の値を表示します。
引数で、1つまたは2つのオブジェクトを指定します。
さまざまなオブジェクトタイプの値を返します。
{First(DataSource1.Column1)}-結果は、DataSource1からのColumn1の最初の値です。{First(DataBand2、DataSource.Column2)}-結果は、DataBand2バンドのColumn2の最初の値です。
 
{Last()}指定されたオブジェクトの最後の値を表示します。
引数で、1つまたは2つのオブジェクトを指定します。
さまざまなオブジェクトタイプの値を返します。
{Last(DataSource1.Column1)}-結果は、DataSource1からのColumn1の最後の値です。{Last(DataBand2、DataSource.Column2)}-結果は、DataBand2のColumn2の最後の値です。
 
{Max()}指定されたオブジェクトの最大値を表示します。引数で、1つまたは2つのオブジェクトを指定します
選択された関数に応じて、様々な double, decimal, long, DateTime, TimeSpan, string 型の値を返します。
{Max(DataSource1.Column1)}-結果は、DataSource1のColumn1からの最大値です。{MaxDate(DataSource1.ColumnDate)}-結果は、DataSource1のColumnDateからの最大日付です。{MaxTime(DataSource1.ColumnTime)}-結果は、DataSource1のColumnTimeからの最大時間です。
 

 
 {MaxStr(DataSource1.Column1)}-すべての値はアルファベット順にソートされます。結果が最後の値です。 {Max(DataBand2、DataSource.Column2)}-結果は、DataBand2バンドのColumn2の最大値になります。
{Median()}リストからの平均(非算術)値を表示します。
引数で、1つまたは2つのオブジェクトを指定します
選択された関数に応じて、さまざまな double、decimal、long 型の値を返します。
Column1に2、5、6、1、7の5つの値が含まれているとします。{Median(DataSource1.Column1)}関数は、このリストの平均値を表示します。つまり、結果は6です。 {Median(DataBand2、DataSource.Column2)}-結果は、DataBand2のColumn2の平均値です。
{Min()}指定されたオブジェクトの最大値を表示します。引数で、1つまたは2つのオブジェクトを指定します
選択された関数に応じて、様々な double, decimal, long, DateTime, TimeSpan, string 型の値を返します。
{Min(DataSource1.Column1)}-結果は、DataSource1のColumn1からの最小値です。{MinDate(DataSource1.ColumnDate)}-結果は、DataSource1のColumnDateからの最小の日付です。{MinTime(DataSource1.ColumnTime)}-結果は、DataSource1のColumnTimeからの最小時間です。
 

 
 {MinStr(DataSource1.Column1)}-すべての値はアルファベット順にソートされます。結果が最初の値です。 {Min(DataBand2、DataSource.Column2)}-結果は、DataBand2バンドのColumn2の最小値です。
{Mode()}値のリストで最も一般的な値を表示します。引数で、1つまたは2つのオブジェクトを指定します
選択された関数に応じて、さまざまな double、decimal、long 型の値を返します。
{Mode(DataSource1.Column1)}。Column1に値のリストが含まれているとします:2、2、6、7、7、8、7、6、5、9、4。この場合、結果は7になります。これは、次のリストで最も頻繁に繰り返されるためです。値。 
{Mode(DataBand2、DataSource.Column2)}-結果は、最も一般的なDataBand2のColumn2からの値になります。
{Rank(,)}値のランクを表示します。接頭辞Totalsは必須です:
引数で指定してください:
 ランクを処理および割り当てるためのオブジェクト(オブジェクトタイプ)
 タイトまたは非タイトランクを割り当てるための値(trueまたはfalse)
値の並べ替え方向。
さまざまなlong型の値を返します
{Totals.Rank(DataBand1、DataSource.Column1)}。Column1に値のリストが含まれているとします:44、9、36、55、71。この場合、値は昇順、つまり9、36、44、55、71で並べ替えられ、それぞれにランクが付けられます。割り当てられます。番号9はランク1を受け取ります。36-ランク2; 44-ランク3; 55-ランク4; 71-ランク5。デフォルトでは、タイトなランクを計算し、ランクを割り当てるための値を昇順で並べ替えます。
 {Totals.Rank(DataBand1、DataSource.Column1、true、StiRankOrder.Dess)}-この場合、trueに設定されているため、ランクが低くなります。ランクが割り当てられると、StiRankOrderがDescに設定されているため、値は降順で並べ替えられます。昇順(デフォルトで使用)で並べ替えるには、Asc(StiRankOrder.Asc)に設定する必要があります。 厳密でないランクの例は、{Totals.Rank(DataBand1、DataSource.Column1、false、StiRankOrder.Asc)}です。Column1に値のリストが含まれていると仮定します:44、9、44、9、31、64、68、71。値は昇順で割り当てられます。つまり、9、9、31、44、44、44、68、71です。この場合、ランクは次のようになります。9-ランク1、9-ランク1、31-ランク3、44-ランク4、44-ランク4、44-ランク4、68-ランク7、71-ランク8。つまり、数値にランクを割り当てる場合、前の値のランクとこのランクの値の数が考慮されます。
{Sum()}値の合計の結果を表示します。
 引数で指定します。
 ランクを処理および割り当てるためのオブジェクト(タイプオブジェクト)
 調子
合計式
さまざまなlong、decimal、double、TimeSpanタイプの値を返します
{Sum(Da​​taSource1.Column1)}-結果は、DataSource1のすべてのColumn1値の合計です。 {SumDistinct(DataSource1.Column1)}-結果は、DataSource1内のすべての一意のColumn1値の合計です。 SumTime(DataSource1.Column1)-結果は、DataSource1のColumn1からの時間の合計です。 {Sum(Da​​taBand2、DataSource2.Column2)}-結果は、DataBand2のColumn2の値の合計です。 {SumDistinct(DataBand1、DataSource.Column1、DataSource.Column2)}-結果は、DataBand2のColumn1からの一意の値に対応するColumn2値の合計です。

バンドに関連付けられていない合計を計算するためのサンプル。

 たとえば、カテゴリごとの製品のリストであるマスター詳細レポートがあります。  
このレポートでは、レポート全体のカテゴリごとに結果を計算できます。合計の各カテゴリの割合を計算することも可能です。まず、カテゴリ内の製品の量を計算しましょう。これを行うには、レポートテンプレートにフッターバンドを追加し、合計{Sum(Da​​taBand2、Products.UnitPrice)}を計算する式を含むテキストコンポーネントを配置します。値の合計には、Sum関数が使用され、その引数は、合計とデータ列が計算されるオブジェクトを指定し、その値が要約されます。カテゴリごとに製品の量を計算する必要があるため、合計を計算する対象は詳細なデータバンド、つまりDataBand2になります。UnitPrice列の値は、各製品の価格を示します。したがって、
  
この場合、結果はデー​​タバンドに関連付けられます。レポートで合計を計算するには、バンドに関連付けられていない関数を使用します。このために、「。」を使用して、接頭辞Totalsを関数に追加します。セパレータ。オブジェクトとして、データソースを指定する必要があります。レポートの合計を計算する式は、{Totals.Sum(Products、Products.UnitPrice)}になります。結果はマスターバンドに表示されます。
  
レポートにマスターバンドを印刷するたびに、レポートごとの合計が表示されます。計算結果を使用して、総計の各カテゴリのシェアを計算することができます。結果はパーセンテージで表示されます。比率を計算するには、合計をカテゴリで除算し、合計をレポートで割る必要があります-{(Sum(Da​​taBand2、Products.UnitsInStock)/ Totals.Sum(Products、Products.UnitsInStock))}。シェアが表示されるテキストコンポーネントには、パーセンテージ形式を設定します。結果はマスターバンドに表示されます。
  
したがって、レポート内の任意の合計を計算することができます。バンドに関連しない合計を計算するには、関数名の前にTotalsを付け、セパレータに”. “を使用します。