適用対象: キャンバス アプリ
Copilot Studio
デスクトップ フロー
モデル駆動型アプリ
Power Platform CLI
Dataverse 関数
Power Pages
疑似乱数を返します。
Description
Rand関数は、0 以上 1 未満の擬似乱数を返します。 たとえば、 Rand() は0.43147 を返し、 0 は返しても 1 を返さない場合があります。
RandBetween関数は、2 つの数値 (両端を含む) の間の擬似ランダム整数 (小数部のない整数) を返します。 たとえば、 RandBetween( 1, 3 ) は1、 2、または 3 を返します。
Volatile 関数
Rand と RandBetween は揮発性関数です。 関数が評価されるたびに、別の値が返されます。
データ フロー数式で使用すると、揮発性の関数は、それが表示される数式が再評価される場合に別の値を返すだけです。 数式で何も変更されていない場合、アプリの実行全体を通じて同じ値を返します。
たとえば、 Label1.Text = Rand() のラベル コントロールは、アプリがアクティブな間は変更されません。 アプリを閉じてからもう一度開いた場合にのみ、新しい値が返ります。
関数は、他の何かが変更された数式の一部である場合に再評価されます。 たとえば、 Label1.Text = Slider1.Value + Rand() のスライダー コントロールを使用するように例を変更した場合、Slider コントロールの値が変更され、ラベルの text プロパティが再評価されるたびに新しい乱数が生成されます。 この例については、以下を参照してください。
動作式で使用すると、 動作式が評価されるたびに、 Rand と RandBetween が評価されます。 例については、以下を参照してください。
構文
Rand()
RandBetween( 下、 上 )
- 下部 - 必須。 関数が返す可能性がある最小の整数。
- Top - 必須。 関数が返す可能性がある最大の整数。 最小 と等しい、または大きな値である必要があります。
使用例
基本的な使用
| 式 | Description | 結果 |
|---|---|---|
| Rand() | 0 以上 1 未満の擬似乱数を返します。 | たとえば、0.874252 など、評価ごとに異なります。 |
| Rand() * 100 | 前の例に基づいて、乗算を使って、0 以上 100 未満に範囲を広げます。 | たとえば、78.42521 など、評価ごとに異なります。 |
| Int( Rand() * 100 ) | 前述例から、Int 関数を使って小数部分を取り除き、0 以上 100 未満の整数を生成します | たとえば、84 など、評価ごとに異なります。 |
| RandBetween( 0, 99 ) | 前の例に基づいて、 RandBetween 関数を使用して同じ操作を実行します | たとえば、21 など、評価ごとに異なります。 |
| RandBetween( -1, 1 ) | -1 から 1 までの疑似乱数を返します: : -1、0、1。 | たとえば、-1 など、評価ごとに異なります。 |
ユーザー入力の変更時に別の乱数を表示する Rand
Slider コントロールを追加し、別の名前になっている場合は Slider1 に名前を変更します。
Label コントロールを追加し、その Text プロパティを次の数式に設定します。
Slider1.Value + Rand()
50 (スライダーの既定値) にランダムな小数を加えた値が、ラベルに表示されます。
Alt キーを押しながら、スライダーの値を変更します。
スライダーの値を変更するたびに、ラベルの小数部分に異なる乱数が表示されます。
を使用して乱数のテーブルを作成する RandBetween
Button コントロールを追加し、その OnSelect プロパティを次の数式に設定します。
ClearCollect( RandomNumbers, ForAll( Sequence( 100 ), RandBetween( 1, 20 ) ))
この式は、100 回反復して 100 つの乱数を生成するために使用される単一列のテーブルを作成します。
Data table を追加し、その Items プロパティを RandomNumbers に設定して、Value フィールドを表示します。
Alt キーを押しながら、クリックまたはタップしてボタンを選択します。
データ テーブルは、1 から 20 までの乱数 100 個が表示されています。
もう一度ボタンを選択すると、別の乱数のリストが表示されます。
テーブルの代わりに 1 つの乱数を生成するには、 Set( RandomNumber, Rand() ) または Set( RandNumber, RandBetween( 1, 20 ) ) を使用します。