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 を使用してシーケンスを作成する可能性を理解していただければ幸いです。

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

ではごきげんよう!

メリッサ


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて