率などを算出する際に単純に「F1 / F2 * 100」とすると結果が0になることがあります。
これは、DB2/SQLの結果に準拠しておりますので、整数同士の計算結果は整数となるためです。
小数点の結果まで取得する方法として、下記の2種類をご紹介します。
①フィールドを小数に型変換をする方法
DECIMAL(フィールド1, 12, 2) / DECIMAL(フィールド2, 12, 2) * 100
②「* 1.00」で小数に変換する方法
フィールド1 * 1.00 / フィールド2 * 1.00 * 100
※通常クエリーの場合、結果フィールドにて定義します。
※ピボットの場合、ピボット作成画面の右側にある式に設定します。
※「* 1.00」を利用しても小数点以下が"0"と表示される場合は、「* 1.000」と小数点以下の"0"の数を増やしてお試しください。
★サンプル★
クロス集計(ピボット)を使用して下記のような結果表示が可能です。
ピボット設定は下記のようにしてあります。
式にはそれぞれ下記のような式を入力しています。
DECIMAL(ROUND(DECIMAL($1$, 9, 2) / DECIMAL($2$, 9, 2) *100,1),9,1) || '%'
DECIMAL(ROUND(DECIMAL($1$, 9, 2) / DECIMAL($4$, 9, 2) *100,1),9,1) || '%'
コメント
0件のコメント
サインインしてコメントを残してください。