StDev 関数を使用する他の誰かによって作成されたレポートに取り組んでいます。簡単だと思いましたが、データには各レコードに複数の値が含まれている可能性があるため、各レコードからどの値を取得するかを判断するために if ステートメントが使用されています。レコードごとに 1 つの値 (StDev で使用する必要がある値) を含むテーブルを Excel にエクスポートし、そこで SD を計算してチェックを行いました。
レポートと Excel では、非常に異なる値が返されます :(
そこで、レポートに戻り、追加の数式フィールドを使用して SD 手書きを計算し、一種の決定票として機能させます (指を交差させても、3 番目の値のセットは生成されません...)。
構文エラーを解決しましたが、実行時エラーが引き続き発生します - 「ゼロによる除算」は、以下に示すコードのセクションを強調表示します...
私の数式フィールドは次のとおりです。
{@StDevArrayPopulate} - 詳細セクション
NumberVar Array varStDevArray;
NumberVar varStDevArrayCount;
varStDevArray [varStDevArrayCount] := {ValueToSummarise};
varStDevArrayCount := varStDevArrayCount + 1;
{@StDevArrayCalculate} - グループ フッター内
NumberVar Array varStDevArray;
NumberVar varCounter :=1;
NumberVar varMean := 0;
NumberVar varStDev := 0;
NumberVar varStDevArrayCount;
// START OF MEAN
// Sum of all of the values in the array
for varCounter:= 1 to varStDevArrayCount step 1 do
(
varMean := varMean + varStDevArray [varStDevArrayCount];
);
// Divide by the total number of values in the array
varMean := varMean / varStDevArrayCount; // !! This is the line that highlights after the error message !!
// END OF MEAN
// START OF STANDARD DEVIATION
// Subtract the mean from each value in the array and square the result
for varCounter := 1 to varStDevArrayCount step 1 do
(
varStDevArray[varStDevArrayCount] := (varStDevArray [varStDevArrayCount] - varMean) * (varStDevArray [varStDevArrayCount] - varMean);
);
// Sum of all of the values in the array
for varCounter:= 1 to varStDevArrayCount step 1 do
(
varStDev := varStDev + varStDevArray [varStDevArrayCount];
);
// Divide by the total number of values in the array
varStDev := varStDev / varStDevArrayCount;
// Square root of mean of differences
varStDev := Sqr(varStDev)
// END OF STANDARD DEVIATION
{@StDevArrayCalculate} - グループ フッター内
NumberVar varMean;
NumberVar varStDev;
"The mean is " & varMean & ", and the standard deviation is " & varStDev & "."
実行中の合計フィールドを使用してみましたが、入力数式フィールドが実行される前に最初のレコードをカウントする必要があるため、エラーが発生しました。また、varStDevArrayCount を 1 に初期化する 4 番目のフィールドをヘッダーに追加しようとしました。
誰か提案はありますか?