Power Query M: 日付テーブルの交互の 0-1 パターン

Power Query M: 日付テーブルの交互の 0-1 パターン

このチュートリアルでは、Power Query Mnumber.mod 関数を使用して、日付テーブルに 0 から 1 の交互パターンを作成することに焦点を当てています。これから紹介するソリューションは、LuckyTemplates のコミュニティ パワー ユーザーの 1 人である Rajesh から提供されたものです。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

目的は、4 つの 0 と 4 つの 1 を交互に並べたシーケンスを生成し、それを 1 日中繰り返すことです。

Power Query M: 日付テーブルの交互の 0-1 パターン

Rajesh は、Power Query M 関数を使用して分析し、問題を解決することで問題を分析し、問題を解決しました。そうは言っても、Power Query に移りましょう。

目次

Power Query M Number.Mod 関数

Power Query M、具体的にはnumber.mod関数がソリューションの中核となります。それは何をするためのものか?

ここで数式バーに示されているように、かっこなしで名前を入力すると、M 関数の内部ドキュメントを確認できます。この関数は、整数の除算の余りを返します。これには最大 3 つのパラメータが必要です。最初の 2 つは数値、そして除数も数値です。

Power Query M: 日付テーブルの交互の 0-1 パターン

さあ始めましょう。準備した日付範囲を含むサンプル クエリを選択します。

Power Query M: 日付テーブルの交互の 0-1 パターン

多くの場合、number.mod はインデックス列と組み合わせて使用​​され、インデックス列はその最初のパラメーターとして使用されます。しかし、よく考えてみると、日付の値は整数であるため、これを行うつもりはありません。したがって、各行が一意の値を持つ、Date 列と同じ粒度を共有するインデックスを作成することは回避できます。

インデックスを模倣するには、Date 列の各日付から Date テーブルの最初の日付を引くだけです。これを行うには、開始日の値を変数に保存して、それを繰り返し使用できるようにします。これを行うには、Advanced Editor が最適だと思います。

そこで、 [詳細エディター]ウィンドウを開いて新しい変数を作成します。これをStartDateと呼びましょう。ここで最初の日付をハードコーディングしたので、それをコピーして貼り付けるだけです。最後のカンマを忘れないでください。そうすれば、その最初の日付を開始日変数に置き換えることができます。

Power Query M: 日付テーブルの交互の 0-1 パターン

ご覧のとおり、何も変わりませんでした。

Power Query M: 日付テーブルの交互の 0-1 パターン

Power Query M パターンのカスタム列の作成

したがって、このミニテーブルを介してカスタム列を追加します。

Power Query M: 日付テーブルの交互の 0-1 パターン

この列をPatternと名付け、Power Query M 関数number.modを入力しましょう。ここには、NULL 許容数値としての数値と NULL 許容数値としての除数という 2 つのパラメーターが表示されます。したがって、パラメーターとして 2 つの数値型の値が必要です。

Power Query M: 日付テーブルの交互の 0-1 パターン

今は数字がないですよね?日付がありますが、そこには自動型変換のようなものはありません。したがって、日付値から数値を取得する必要があります。そこで、ここに「number.from」と入力し、次に「 Date」列を入力して、StartDate変数を減算します。

Power Query M: 日付テーブルの交互の 0-1 パターン

ここで、 Date テーブルの最初の日付が1 を返し、StartDate も 1 を返すとします。したがって、1 から 1 を引くと 0 になります。インデックス番号を 0 ではなく 1 で始めたいと考えています。したがって、1 を戻す + 1 を追加する必要があります。ここで、1 マイナス 1 はゼロに等しく、プラス 1 は最初のレコードに 1 を返します。

Power Query M: 日付テーブルの交互の 0-1 パターン

2 番目のレコードでは、Date 列の日付の 2 の値を取得し、StartDate の値から 1 に等しい 1 を引いて、加算し直すと 2 が返される、というようになります。 。私たちの繰り返しパターンは、一連の 4 つの交互の値に基づいていました。したがって、除数として値 4 を渡します。

Power Query M: 日付テーブルの交互の 0-1 パターン

それが何をするのか見てみましょう。行 4 では、行 8 と同様にゼロが得られます。したがって、4 回出現するたびに、そのレコードに対してゼロ値が返されます。

Power Query M: 日付テーブルの交互の 0-1 パターン

IF-THEN-ELSE 構造の作成

顧客ダイアログ ボックスに戻り、これまでに作成したロジックを拡張してみましょう。8 番目の出現を識別できるようにするには、除数を除いて同じロジックを繰り返す必要があります。

ただし、8 行目では別の値が必要です。したがって、4 番目と 8 番目の出現を区別するには、IF-THEN-ELSE 構造を使用できます。こうすることで、true を返す最初の論理テストの値を返すことができます。

したがって、 If、ここにコードを貼り付けます (除数を除く)。その除数を 8 に変更して、8 番目の行が 0 を返すようにします。したがって、それがゼロに等しい場合は、true または false を判断できないことを意味します。それから、 1 が必要です。それ以外の場合、ここでのロジックで 4 番目の行がゼロに等しいと識別された場合はゼロ (0) が必要になります。それ以外の場合は、値を返したくないのです。それでは、 nullを追加しましょう。

Power Query M: 日付テーブルの交互の 0-1 パターン

ここで、ロジックをもう一度確認してみましょう。したがって、4 回出現するたびにゼロが得られます。そして8回目に1点を奪う。次に、0 と 1 が得られます。

これは見た目が良いですね。ここで私たちがしなければならないのは、これらの値を埋めることだけです。

Power Query M: 日付テーブルの交互の 0-1 パターン

そこで、数式バー内で、先頭にTable.FillUpを追加し、次に左かっこをいくつか追加します。コードの最後に、型番号を追加します。また、列をリストとして追加する必要があります。そこで、 commaを使用し、リスト初期化子として中かっこを使用し、列名Patternのテキスト値として渡します。右かっこを忘れずに「OK」を押してください。

Power Query M: 日付テーブルの交互の 0-1 パターン


LuckyTemplates の M コードの初心者ガイド
日付テーブルの M 関数 – クエリ エディターでパラメーターを追加する方法
LuckyTemplates で日付テーブルの列を並べ替える

結論

これは非常にユニークなシナリオであり、正直なところ、この特定のパターンのアプリケーションは思いつきませんが、Power Query M の関数、number.mod を使用してシーケンスを作成する可能性を理解していただければ幸いです。

詳細については、以下のこのチュートリアルのビデオ全体をご覧ください。

ではごきげんよう!

メリッサ


Power Automate の文字列関数: Substring と IndexOf

Power Automate の文字列関数: Substring と IndexOf

Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates ツールチップを使用すると、より多くの情報を 1 つのレポート ページに圧縮できます。効果的な視覚化の手法を学ぶことができます。

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を作成し、データを受信する方法を学んでいます。

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で簡単に日付テーブルを作成する方法について学びましょう。データの分析と視覚化のための効果的なツールとして活用できます。

2 つの方法による SharePoint 列の検証

2 つの方法による SharePoint 列の検証

SharePoint 列の検証の数式を使用して、ユーザーからの入力を制限および検証する方法を学びます。

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel ファイルおよび CSV ファイルにエクスポートする方法を学び、さまざまな状況に最適なエクスポート方法を決定できるようにします。

Power Automate のオンプレミス データ ゲートウェイ

Power Automate のオンプレミス データ ゲートウェイ

ユーザーがコンピューターから離れているときに、オンプレミス データ ゲートウェイを使用して Power Automate がデスクトップ アプリケーションにアクセスできるようにする方法を説明します。

DAX 数式での LASTNONBLANK の使用

DAX 数式での LASTNONBLANK の使用

DAX 数式で LASTNONBLANK 関数を使用して、データ分析の深い洞察を得る方法を学びます。

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

LuckyTemplates で予算分析とレポートを実行しながら、CROSSJOIN 関数を使用して 2 つのデータ テーブルをバインドする方法を学びます。

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

このチュートリアルでは、LuckyTemplates TREATAS を使用して数式内に仮想リレーションシップを作成する方法を説明します。