作成日: 2020/10/13 最終更新日: 2020/12/25
文書種別
不具合
状況
修正済み
詳細
FlexPivotでグループ化後、「総計に対する比率」を指定して平均を表示した結果が、MS Excelでの集計結果と異なります。
例)
以下のようなコードを用いて、C1FlexPivotPanelにDataTableをバインドして実行し、各エリアのフィールドを以下のように設定します。
・列フィールド: 性別
・行フィールド:年齢
・表示するデータ:点数(合計)
「年齢」フィールドの設定で、表示形式タブ=「Group By」のチェックをON、値を「30」に設定します。
さらに、 「点数」フィールドの設定で、小計タブ=「平均」、「差として表示」タブ=「総計に対する比率」に設定します。
(結果)FlexPivotの結果が以下のようになり、Excelの計算結果と一致しません(不正)。
「女」列の各行の値:
・FlexPivotの場合:28%、5%、15%、総計は19%
・MS Excelの場合:158.89%、30.20%、85.28%、総計は108.32%
◎サンプルコード(C#)
例)
以下のようなコードを用いて、C1FlexPivotPanelにDataTableをバインドして実行し、各エリアのフィールドを以下のように設定します。
・列フィールド: 性別
・行フィールド:年齢
・表示するデータ:点数(合計)
「年齢」フィールドの設定で、表示形式タブ=「Group By」のチェックをON、値を「30」に設定します。
さらに、 「点数」フィールドの設定で、小計タブ=「平均」、「差として表示」タブ=「総計に対する比率」に設定します。
(結果)FlexPivotの結果が以下のようになり、Excelの計算結果と一致しません(不正)。
「女」列の各行の値:
・FlexPivotの場合:28%、5%、15%、総計は19%
・MS Excelの場合:158.89%、30.20%、85.28%、総計は108.32%
◎サンプルコード(C#)
namespace pivot
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
DataTable dataTable1 = new DataTable();
dataTable1.TableName = "TEST";
dataTable1.Columns.Add("性別", typeof(string));
dataTable1.Columns.Add("年齢", typeof(int));
dataTable1.Columns.Add("点数", typeof(int));
dataTable1.Rows.Add("男", 33, 125);
dataTable1.Rows.Add("男", 65, 245);
dataTable1.Rows.Add("男", 94, 522);
dataTable1.Rows.Add("女", 38, 678);
dataTable1.Rows.Add("男", 42, 836);
dataTable1.Rows.Add("女", 63, 136);
dataTable1.Rows.Add("男", 73, 456);
dataTable1.Rows.Add("女", 59, 753);
dataTable1.Rows.Add("女", 101, 384);
dataTable1.Rows.Add("男", 36, 368);
//DataTableによる処理
this.c1FlexPivotPanel1.DataSource = dataTable1;
}
}
}
回避方法
この問題は2020J v3(5.0.20203.469)で修正されました。
旧文書番号
86068