皆もすなるQiitaといふものを、儂もしてみむとてするなり。
と言う訳で、こん**は!はなっち!です。
この記事はUiPathブログ発信チャレンジ2023サマーの11日目の記事です。
【初めに】
期せずして、Legacyモードとなってしまったカスタムアクティビティ。
これらは、
でまとめたように、Windowsモード化し、審査、公開に至りました。
その中で、はなっち!の度数分布表アクティビティは新顔になります。
今回は、その新顔のはなっち!の度数分布表アクティビティをご紹介しようと思います。
1)はなっち!の度数分布表アクティビティって?
度数分布表とは、総務省統計局ホームページの 【13 統計用語辞典】によれば、
度数は、各階級に属するものの個数のこと。その属するデータがどのように散らばっているかを示す表のことを度数分布表という。
とあります。
先の総務省統計局ホームページの例示にあるように、身長140cm以上150cm未満の人数を数の表としてまとめる、まとめた表ですね。
この機能は、お客様案件で、正確な分布ではなく、ある幅を持った分布
をメールに載せたいって事から、開発を着手したものです。当初、ある幅
は固定でしたが、いずれ変更をしたいだろうなと思い、可変対応するようにしたのです。
ここまで来たら、カスタムアクティビティ化してみようと思い立ち、今回の公開に至ったのです。
2)どんなデータを使用するのか?
無論、度数分布なので、数値のデータ群を扱います。例えば、試験結果ですね。
ここれは、サンプルデータとして、鹿児島大学の【データで学ぶ!統計活用授業のための教材サイト】
にあった、
成績サンプルデータ
を使ってみます。
Googleで「試験 サンプルデータ」を検索した結果の中に、.xlsファイルのダイレクトリンクが張ってあったのでそれを使用しますが、その管理サイトには.xlsファイルのリンクは見つかりませんでした...
3)はなっち!の度数分布表アクティビティのインストール
インストールには2つの方法があります。
3-1 MarketPlaceからダウンロードし、ローカルフォルダからインストール
- MarketPlace中のはなっち!の度数分布表アクティビティが公開されているサイトへ行き、
ダウンロードボタン
をクリックし、HANACCHI.FREQUENCY.ACTIVITIES.2.0.0.nupkg
をダウンロードします。
- インストールしたいプロセスの「パッケージを管理」から、ダウンロードした
HANACCHI.FREQUENCY.ACTIVITIES.2.0.0.nupkg
を、「パッケージを管理」の「設定」で定義されているローカルフォルダに移動します。
- 改めて、インストール対象となるはなっち!の度数分布表アクティビティのファイル名である
HANACCHI.FREQUENCY.ACTIVITIES
を選択し、「インストール」ボタンをクリックしてから、「保存」する。
3-2 MarketPlaceから直接インストール
- MarketPlace中のはなっち!の度数分布表アクティビティが公開されているサイトへ行き、
はなっち!の度数分布表アクティビティ
の隣にあるクリップボードへコピーアイコンをクリックし、ファイル名を取得します。(HANACCHI.FREQUENCY.ACTIVITIES
がコピーされる)
- インストールしたいプロセスの「パッケージを管理」から、コピペしたファイル名(
HANACCHI.FREQUENCY.ACTIVITIES
)を、「パッケージを管理」の「検索」部にペーストし、表示された、はなっち!の度数分布表アクティビティのファイル名であるHANACCHI.FREQUENCY.ACTIVITIES
を選択し、「インストール」ボタンをクリックしてから、「保存」する。
3-3 インストール完了確認
いずれの方法においても、インストールが完了すると、以下のアクティビティがインストールされます。
4)はなっち!の度数分布表アクティビティの使い方
4-1 基本(度数表示)
項目名 | 属性 | 説明 |
---|---|---|
PercentMode | Boolean | 度数分布値を%とするか(True)、 値とするか(False) |
計測データ | DataTable | 測定対象とするデータテーブル |
測定列名 | String | 度数分布を計測する対象列名 |
階級 | [Double] | 計測する階級値(n以上)を配列で指定 |
階級桁数 | Int32 | 度数分布表としたときの階級の桁数(4) |
度数桁数 | Int32 | 度数分布表としたときの度数の桁数(4) |
区切り文字 | String | 階級と度数の区切り文字(|) |
グラフ文字 | String | 度数を値ではなく横棒グラフとする時の文字 |
PrecentLevel | Int32 | %計算する際の母数の属性 範囲内のみ(=0) 範囲外も含める(=1) 例外値も含めるか(=2) |
PrecentDecimal | Int32 | %計算の小数点以下の桁数 |
度数分布表テキスト | String | 度数分布表の結果テキスト |
階級昇順 | Boolean | 階級値の並びを指定する 昇順にする(True) 降順にする(False) |
範囲内データ数 | Int32 | 階級として計測範囲内のデータ件数 |
範囲外データ数 | Int32 | 階級として計測範囲外のデータ件数 |
数値外データ数 | Int32 | 階級として数値変換できなかったデータ件数 |
- 先の成績サンプルデータの中から、【化学】の度数分布を求めてみましょう。成績のサンプルデータですので、階級は以下のような固定値にします。
階級:{0.0,10,20,30,40,50,60,70,80,90,100}
属性は、Double型配列ですので、要素の一つに小数点を付けることで、Int32型配列ではなく、Double型に配列になります。
テキスト:"【" & currentItem & "】" & ControlChars.Lf &
度数分布表テキスト & ControlChars.lf & ControlChars.lf &
"範囲内データ数:" & 範囲内データ数 & ControlChars.lf &
"範囲外データ数:" & 範囲外データ数 & ControlChars.lf &
"数値外データ数:" & 数値外データ数
- 結果
70点以上は1名、60点以上は5名...。
範囲内データは50件、範囲外データは0件、数値外データは0件
と言う事がわかります。
<U>
、<N>
は利用者が置換できるようにつけていますので、適宜置換してください。
度数分布表テキスト ← 度数分布表テキスト.Replace("<U>", "点以上").Replace("<N>", "人")
4-2 基本(パーセント表示)
PercentModeをTrueにする事で、度数分布値が%表示になります。
<U>
、<P>
は利用者が置換できるようにつけていますので、適宜置換してください。
度数分布表テキスト ← 度数分布表テキスト.Replace("<U>", "点以上").Replace("<P>", "%")
4-3 応用(横棒グラフ)
今までは、グラフ文字は未設定でした。このグラフ文字に文字を設定することで、その文字を使った横棒グラフを出力します。
度数分布表テキスト ← 度数分布表テキスト.Replace("<U>", "点以上").Replace("<N>", String.Empty)
##おわりに
いかがでした?
今回も読んでいただきありがとうございました!
是非UiPathでのロボ開発の一助になればと思っています。
ありがとうございました!