小ネタ:乱数あれこれ|Power Query
以前にテスト用データを作ったことがありました。今回は乱数に焦点を当てて、各方法の挙動、利用法をまとめてみました。
方法一覧
既定では関数が3つ用意されてます。
Number.Random関数は、ただ単に乱数を作る。
ワークシートのRAND関数と同様で、0から1の範囲で乱数を作ります。
カスタム列の追加で使うと、行ごとにちゃんと違う乱数が入ります。クエリ更新により、乱数はさし変わります。
ちなみに乱数を全部同じにしたい、なんて場合は、列追加処理の前のステップで、関数の実行結果を値(下図ではRandomNum
と名前を付けている)に入れてやればいいです。
Number.RandomBetween関数は、乱数の範囲を絞って作れる。
上の画像の通り、整数に限定されません。ここがワークシートのRANDBETWEEN関数と違うところです。
整数にしたいときは自分で丸めましょう。
List.Random関数は、変更されない乱数を作れる。
この関数の特徴は、seed
引数を設定することで、乱数を固定できるところです。
ただし、Listを返す関数ですから、上の2つの関数と同じ使い方はできません。
以下、seed
引数を0で固定して、使い方を書いてみます。乱数の値が変わっていないことに注意してください。
List.Random(count as number, optional seed as nullable number) as list
単純に使う
既存のリストと組み合わせて使う
少し実践的です。Table.FromColumns関数で、リストをテーブルに組み上げます。
各リストの要素数が揃わない場合はnull
値が入ります。
列追加的に使う
実用的にはこちらの方が多いかもしれません。
先ほどはリストからテーブルへの組み上げを行いました。これと逆に、テーブルをばらす関数――Table.ToColumns関数――も用意されています。これを使うと、テーブルをリストのリスト(リストの入れ子)に変換できます。
ちなみに、Listの結合はこんな具合で動作します。
{1,2,3} & {4,5,6} //{1,2,3,4,5,6}
{{1,2,3},{4,5,6}} & {7} //{{1,2,3},{4,5,6},7}
{{1,2,3},{4,5,6}} & {{7}} //{{1,2,3},{4,5,6},{7}}
List.Combine({{1,2,3},{4,5,6}}) //{1,2,3,4,5,6}
Author And Source
この問題について(小ネタ:乱数あれこれ|Power Query), 我々は、より多くの情報をここで見つけました https://qiita.com/tanuki_phoenix/items/d7f23350b582abdc77e1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .