Power Automate の文字列関数: Substring と IndexOf
Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。
このブログは、LuckyTemplates タイムシートと関連する人件費を中心に説明します。DAX を使用して時間データと賃金タイプを計算する方法を説明します。メジャーを使用した DAX ソリューションと、計算列を使用した別の DAX ソリューションを説明します。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。
この例は、LuckyTemplates で実行するこれは、組織やビジネスでよく遭遇する現実のシナリオであり、LuckyTemplates は、仕事を簡単かつ迅速にするのに最適なツールです。
それでは、本題に入りましょう。
目次
LuckyTemplates タイムシートと賃金: 計算列ソリューション
計算列を使用した計算 DAX ソリューションの場合、Time テーブルに移動し、通常の時間を計算するためのメジャーを作成します。これをCC-通常時間と呼びます。
この数式では、テーブルから時間を取得し、変数 ( ) に代入します。次に、それが休日、週末、または通常の日である計算します。関数では、データ モデルを活用してそれを決定し、次に 2 つの変数( _IsHolidayDayと_IsWeekendDay ) を使用して 3 番目の変数 ( _Is RegularDay ) を決定します。
最後に、 ステートメントを使用して、通常の時間を確認します。になります。通常の日の場合は、最大 8 時間までの時間を返したいので、RETURN Result構造を使用します。
残業時間の式 ( CC-残業時間)についてもほぼ同じことを行います。SWITCH TRUE ステートメントのみを変更します。これにより、週末の時間が返されます。通常の日の場合は、8 時間を超える時間が返されます。
休日の時間については、休日の場合はすべての時間を返し、週末または通常の日の場合は空白を返します。
さて、賃金の話に移りましょう。通常時間の賃金計算式には、通常時間用に作成した計算列を利用します。WageType、Straight Timeを使用して、適切な賃金を決定します。
データ モデルから従業員の時給を取得し、LOOKUPVALUE を使用して、する切断賃金タイプテーブルから乗数を取得します。最後に、変数Resultを計算し、最後にRETURN Resultを返します。
残業については、賃金タイプをTime and a Halfに変更するだけです。
休日の賃金についても同様のことを行いますが、賃金タイプをDouble Timeに変更するだけです。
最後に、単純な合計を計算して合計値を取得します。
これらの列をレポートにドラッグすると、結果が表示されます。
LuckyTemplates のタイムシートと賃金: メジャーを使用した DAX ソリューション
計算列の場合とほぼ同じことを行いますが、今回は小さな変更を 1 つ加えます。
テーブルから時間値に直接アクセスできないため、ここでは SELECTEDVALUE を使用して、に表示されている特定の時間エントリに関連付けられた時間を取得します。それ以外は、コードは計算列バージョンの場合と同じです。
残業時間と休日時間についても、ほぼ同様のことを行ってきました。これは計算列の場合と同じルールです。
賃金についても、ほぼ同様に計算されます。計算列との唯一の違いは、時間の変数です。私が計算したメジャー値を使用しています。残業代も休日手当も同様です。
次に、賃金総額の単純な合計尺度を書きます。
次に、これらの測定値を表に追加して、結果を確認します。どのメジャーにも合計が表示されていないことに注意してください。ここでメジャーの合計値を確認するには、「間違った合計パターンを修正する」を使用します。これを行うには、ここにある物理テーブルを模倣する仮想テーブルを使用するメジャーを作成する必要があります。
間違った合計パターンを修正
これを修正するには、ここにある物理テーブルを模倣する仮想テーブルを使用するメジャーを作成する必要があります。そこで、合計時間については、構造を使用して、時間 ID と時間を含む仮想テーブルを作成しました。次に、仮想テーブルに対して
これを下の表にドラッグすると、合計時間が表示されます。
賃金についても同じことを行い、 とSUMMARIZEを使用します。そして結果として、すでに作成したメジャーには関数を使用し、仮想テーブルにはSUMXを使用します。
それをここの表に追加すると、賃金の合計が得られることがわかります。
もう 1 つは、部門と賃金タイプを含む単純な棒グラフに合計賃金メジャーを配置すると、ここでは値が取得されないことがわかります。
これは、修正された合計が正しくない問題の一部です。この問題を解決するために私が見つけた最良の方法の 1 つは、仮想テーブルを使用してメジャーを変更することです。
そこで、仮想テーブルのないものを削除し、仮想テーブルのあるものを追加します。
LuckyTemplates 計算列とメジャー: 計算列の比較
LuckyTemplates: ヒントとベスト プラクティス
メジャー分岐: LuckyTemplates 開発戦略
結論
どちらの DAX ソリューションも、この LuckyTemplates のタイムシートと賃金の課題に最適です。ただし、長所と短所もあります。
メジャーを使用する利点は、それがベスト プラクティスであることです。これらは、モデルが更新されたときに計算されるのではなく、メジャーがビジュアルで実際に使用されたときにのみ計算されます。それらの欠点は、仮想テーブルを使用して物事を表現し、適切に計算するために作業するときに、少し追加の DAX コードが必要になることです。しかし、それは決して大したことではありません。
計算列については、学習と視覚化が容易であることがわかりました。これらは、Excel を使用する人にとっては非常に馴染みのある出発点です。ただし、計算列の制限の 1 つは、計算列が実際にはデータ モデル内で物理的に作成され、モデルのサイズが増加するため、レポートのパフォーマンスが低下することです。
また、一般的なルールとして、ファクト テーブルには計算列を作成しないでください。計算列を作成する必要がある場合は、ディメンション テーブルで作成してみてください。
私は個人的に計算列を使用して、表示するディメンションが多数あったいくつかのディメンション テーブルに分類を追加しています。
この作品を楽しんでいただき、多くのことを学んでいただければ幸いです。このチュートリアルの完全なビデオは以下でご覧いただけます。
乾杯!
グレッグ
Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。
LuckyTemplates ツールチップを使用すると、より多くの情報を 1 つのレポート ページに圧縮できます。効果的な視覚化の手法を学ぶことができます。
Power Automate で HTTP 要求を作成し、データを受信する方法を学んでいます。
LuckyTemplates で簡単に日付テーブルを作成する方法について学びましょう。データの分析と視覚化のための効果的なツールとして活用できます。
SharePoint 列の検証の数式を使用して、ユーザーからの入力を制限および検証する方法を学びます。
SharePoint リストを Excel ファイルおよび CSV ファイルにエクスポートする方法を学び、さまざまな状況に最適なエクスポート方法を決定できるようにします。
ユーザーがコンピューターから離れているときに、オンプレミス データ ゲートウェイを使用して Power Automate がデスクトップ アプリケーションにアクセスできるようにする方法を説明します。
DAX 数式で LASTNONBLANK 関数を使用して、データ分析の深い洞察を得る方法を学びます。
LuckyTemplates で予算分析とレポートを実行しながら、CROSSJOIN 関数を使用して 2 つのデータ テーブルをバインドする方法を学びます。
このチュートリアルでは、LuckyTemplates TREATAS を使用して数式内に仮想リレーションシップを作成する方法を説明します。