PowerPlatForm_DX

PowerPlatFormの解説ブログ

自分用

7章 ナイフではなく針を - Google ドキュメント

 

8章 遅いってどれくらい? - Google ドキュメント

 

異文化理解力7章8章要約 - Google ドキュメント

 

異文化理解力_まとめ_要約 - Google ドキュメント

 

state_machine.py - Google ドライブ

 

dig-python-fnd_battle-bots - Google ドライブ

 

red1.py - Google ドライブ

 

NK7_固定資産管理アプリ_20231217203304.zip - Google ドライブ

【PowerApps初心者向け解説】Lookup の使い方を実例を交えて解説

Lookup関数は、指定したテーブル内で条件に一致する値を検索し、返す関数です。主に、関連テーブルから値を取得する際に使用されます。

【基本構文】

 

Lookup(テーブル, 検索条件, 返す列名)


- テーブル: 検索するテーブルを指定します。
- 検索条件: 検索する際の条件を指定します。例えば、「[ID] = 1」といったように、[列名] = 値という形式で指定します。
- 返す列名: 検索結果として返す列の名前を指定します。

【実例1 : Employeeというテーブル内で、[EmployeeID]が1である従業員の[LastName]を取得する】

 

Employeeテーブル

EmployeeID FirstName LastName HireDate
1 John Smith 2021-01-01
2 Jane Doe 2021-02-15
3 Michael Johnson 2021-03-30

 

Lookup(Employee, EmployeeID = 1, LastName)


- テーブル: Employeeテーブルを指定します。
- 検索条件: EmployeeID = 1 という条件を指定します。
- 返す列名: LastName列を指定します。
- 結果: Smith

【実例2 : Orderテーブルから、[CustomerID]が2である注文の[OrderDate]を取得】

 

Orderテーブル

OrderID OrderDate CustomerID
1001 2021-01-01 1
1002 2021-02-15 2
1003 2021-03-30 3

 

Lookup(Order, CustomerID = 2, OrderDate)


- テーブル: Orderテーブルを指定します。
- 検索条件: CustomerID = 2 という条件を指定します。
- 返す列名: OrderDate列を指定します。。
- 結果: 2021-02-15

【応用実例 : 複数の条件を組み合わせて検索】

 

OrderDetailテーブル

OrderDetailID OrderID ProductID Quantity UnitPrice
1 1001 101 2 10.50
2 1001 102 3 15.00
3 1002 103 1 25.00


OrderDetailテーブルから、[OrderID]が1001であり、かつ[ProductID]が102である注文の[Quantity]を取得する場合、以下のように記述します。

Lookup(OrderDetail, And(OrderID = 1001 , ProductID = 102), Quantity)


- テーブル: OrderDetailテーブルを指定します。
- 検索条件: OrderID = 1001 かつ ProductID = 102 という条件を指定します。
- 返す列名: Quantity列を指定します。
- 結果: 3

【まとめ】


今回は、PowerAppsの[Lookup]関数について解説しました。
[Lookup]関数は、テーブル内のデータを検索し、該当するレコードの値を返す関数です。引数には、検索するテーブル、検索条件、取得する列名を指定します。[Filter]関数と組み合わせることで、テーブル内から複数のレコードを検索することもできます。
実際の使用例として、[Lookup]関数は、複数のテーブルを関連付ける際や、外部データソースからのデータ取得に用いられます。また、[Filter]関数と組み合わせて、複数のレコードを検索して表示する場合にも有用です。
[Lookup]関数は、PowerAppsでよく使われる基本関数の1つであり、理解しておくことで、アプリケーションの開発に役立ちます。ぜひ、自身のアプリ開発に応用してみてください。

【PowerApps初心者向け解説】IsMatch の使い方を実例を交えて解説

IsMatch関数は、指定された文字列が正規表現パターンと一致するかどうかを判断するために使用されます。これにより、入力されたデータの形式を検証したり、条件に合わないデータを排除したりできます。

 

目次

 

【基本構文】

 

IsMatch(文字列, 正規表現パターン)


・文字列:対象となる文字列。
正規表現パターン:検証に使用する正規表現パターン。

【実例1 : 数字が含まれているかチェック】

 

IsMatch("abc123", "\d+") // 結果: true


この例では、文字列 "abc123" がパターン "\d+" に一致するかどうかを検証しています。パターン "\d+" は、1つ以上の数字に一致するため、文字列 "abc123" には数字が含まれているため、結果は true になります。
・"abc123" は数字を含んでいるため、パターン "\d+" に一致する。
・よって、結果は true。

【実例2 : 数字が含まれているかチェック2】

 

IsMatch("abc", "\d+") // 結果: false


この例では、文字列 "abc" がパターン "\d+" に一致するかどうかを検証しています。パターン "\d+" は、1つ以上の数字に一致するため、文字列 "abc" には数字が含まれていないため、結果は false になります。
・"abc" は数字を含んでいないため、パターン "\d+" に一致しない。
・よって、結果は false。

【実例3 : メールアドレスの形式に合致しているかチェック】

 

IsMatch("example@example.com", "^\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,3}$") // 結果: true


この例では、文字列 "example@example.com" がメールアドレスの形式に合致しているかどうかを検証しています。パターン "^\w+@[a-zA-Z_]+?.[a-zA-Z]{2,3}$" は、メールアドレスの形式に一致するため、文字列 "example@example.com" にも一致するため、結果は true になります。
・"example@example.com" はメールアドレスの形式に合致する。
・よって、結果は true。

【実例4 : フォームの入力チェック】


IsMatch関数はフォームの入力チェックにも利用できます。例えば、電話番号が正しいフォーマットで入力されたかどうかをチェックすることができます。
以下は、電話番号が「XXX-XXXX-XXXX」のフォーマットで入力されているかどうかをチェックする式です。

IsMatch(txtPhone.Text, "\d{3}-\d{4}-\d{4}")


この式は、テキストボックス(txtPhone)の値が「\d{3}-\d{4}-\d{4}」の正規表現にマッチするかどうかを判定します。正規表現「\d{3}-\d{4}-\d{4}」は、3桁の数字、ハイフン、4桁の数字、ハイフン、4桁の数字というパターンを表します。

【応用実例5 : パスワードの強度チェック】


パスワードの強度をチェックするためにも、IsMatch関数を利用することができます。以下は、パスワードが8文字以上かつ、英字と数字をそれぞれ1文字以上含んでいるかどうかをチェックする式です。

IsMatch(txtPassword.Text, "^(?=.*?[a-zA-Z])(?=.*?\d)[a-zA-Z\d]{8,}$")


この式は、テキストボックス(txtPassword)の値が正規表現「^(?=.?[a-zA-Z])(?=.?\d)[a-zA-Z\d]{8,}$」にマッチするかどうかを判定します。正規表現「^(?=.?[a-zA-Z])(?=.?\d)[a-zA-Z\d]{8,}$」は、以下の意味を持ちます。
^: 文字列の先頭を表す
(?=.*?[a-zA-Z]): 英字が1文字以上含まれていることを表す
(?=.*?\d): 数字が1文字以上含まれていることを表す
[a-zA-Z\d]{8,}: 英字と数字の組み合わせで8文字以上の文字列を表す
$: 文字列の末尾を表す
つまり、この式は、パスワードが英字と数字をそれぞれ1文字以上含んでいて、8文字以上である場合にマッチすることになります。

【まとめ】


IsMatch関数は、指定されたテキストが正規表現パターンに一致するかどうかを判定する関数です。正規表現を利用することで、より複雑なパターンのマッチングが可能となります。また、CaseSensitiveオプションを利用することで、大文字小文字の区別をするかどうかを設定することができます。
正規表現については、初めて触る人にとっては少し難しいかもしれませんが、使いこなすことで非常に強力な機能を持った関数です。特に、データのバリデーションや、特定のパターンを含むデータを検索する際に有用です。正規表現の学習にも役立つので、ぜひ使いこなしていきましょう。