LuckyTemplates ホリデー カレンダー – DAX を使用して日付を計算する

LuckyTemplates ホリデー カレンダー – DAX を使用して日付を計算する

LuckyTemplates 休日カレンダーの作成は、インテリジェンス計算を頻繁に行う場合に非常に重要です。このチュートリアルでは、DAX メジャーを使用して特定の休日の日付を計算する方法を説明します。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

この例は、 「今週の問題」と呼ばれるイニシアチブの 1 つから来ています。このプロジェクトでは、毎月実際の DAX または Power Query の問題を取り上げ、それを詳細に分析します。

LuckyTemplates ホリデー カレンダー – DAX を使用して日付を計算する

ラバーダックデバッグと呼ばれる手法を使用しました。通常はデバッグに使用されますが、LuckyTemplates のような複雑な問題を解決するために使用する最初のフレームワークを考え出すのにも非常に価値があることがわかりました。

LuckyTemplates ホリデー カレンダー – DAX を使用して日付を計算する

それは基本的に、ゴム製のアヒルや話し相手を使って、自分が思い描いている解決策を大声で言い、問題にどう取り組むか計画を立てるだけです。

声を出すだけで、問題を解決できることがよくあります。場合によっては、デバッグの状況では、自分が何をしているのか、それが意味があるのか​​どうかを認識し、問題に対処して問題を解決する方法を見つけるのに役立ちます。

以下は、この特定の課題に対する実際の DAX 問題です。ここには、月と日で 10 の祝日が含まれる表があります。特定の日もあれば、相対的な日もあります。休日の日付と祝祭日の対策を考え出す必要があります。

LuckyTemplates ホリデー カレンダー – DAX を使用して日付を計算する

これを行うには、Day フィールドを 2 つのコンポーネントに解析する必要があります。最初の解析は出現 (3 番目、最後、最初、2 番目) であり、2 番目の解析は日 (月曜日、木曜日) です。これらは分離する必要がある 2 つの重要な情報です。

目次

LuckyTemplates 休日カレンダーでの特定の日付の計算

通常、これを Power Query で区切り文字で分割するだけで実行しますが、DAX で実行しているため、別の方法で実行する必要があります。(このチャレンジでは Power Query を使用することは許可されていないことに注意してください。)

指定された年、月、日の名前の最小日付と最大日付を計算する必要があります。この場合、たとえば、2027 年、1 月、第 3 月曜日と言えます。特定の月の最小日を取得したら、第 2 月曜日までに 7 日、第 3 月曜日までに 14 日、第 4 月曜日までに 21 日を追加できます。

この課題に関連して皆さんと共有したいもう 1 つのテクニックは、メジャーを作成するときに私が呼んでいる「Build in Parts」です。これは、変数が多く、構築するコンポーネントがたくさんある複雑な測定において非常に役立つと思います。

私がいつもやっているのは、最後に結果変数 ( VAR Result )を持ち、最後のステートメントは単なるReturn Resultです。これにより、構築した変数に戻ってテストすることが非常に簡単になります。部分的に調べて追跡し、解決することができます。

LuckyTemplates ホリデー カレンダー – DAX を使用して日付を計算する

最後に皆さんと共有したいテクニックは、私が「未知の関数の検索」と呼んでいるテクニックです。たとえば、この LuckyTemplates の休日カレンダーの課題にどの関数を使用すればよいかわからない場合は、[外部ツール]タブに移動し、「 SQLBI DAX ガイド 」に移動します。

LuckyTemplates ホリデー カレンダー – DAX を使用して日付を計算する

ここにはグループ(左側)と呼ばれる非常に優れた機能があり、関数がタイプごとにグループ化されています。したがって、たとえばテキスト文字列の解析を考えている場合は、「テキスト関数」を検索することができます。

LuckyTemplates ホリデー カレンダー – DAX を使用して日付を計算する

DAX が持つすべてのテキスト関数を提供します。これは、メジャーに必要なDAX 関数をすばやく見つけるための優れた方法です。

LuckyTemplates ホリデー カレンダー – DAX を使用して日付を計算する

LuckyTemplates ホリデー カレンダーの DAX 対策

Holiday Dateメジャーの場合、スライサーから日付、休日の月、月番号、Date テーブルから日を取得して、  この一連のを作成しました。

) 関数を使用して、選択した日の長さを取得します。この場合、テキストが返されたため、そのテキストを数値に変更するには、で囲む必要がありました。

次に、関数を使用してスペースの位置を取得し、それを VALUE で囲みますが、選択した日内のスペースを位置 1 から検索して、その文字列が見つからない場合は 0 を返します。

CharsBeforeSpace (スペースの前の文字)単なる SpacePosition です。CharsAfterSpace (スペースの後の文字)の数は、文字列の長さ ( SelDayLen ) からスペースの位置を引いたものになります。そこから、FirstParseSecondParseを実行できます。

LuckyTemplates ホリデー カレンダー – DAX を使用して日付を計算する

この時点で、2 つの変数があり、1 つは出来事を表し、もう 1 つは日を表します。

次に、Dates テーブルからフィルターを削除する基本的な ( Calc1st ) があります。次に、スライサーから選択した年のフィルター、月名、次に実行した 2 番目の解析からの曜日のフィルターを適用します。

LuckyTemplates ホリデー カレンダー – DAX を使用して日付を計算する

同様に、最後の計算 ( VAR CalcLast )に対しても同じことを行います。

LuckyTemplates ホリデー カレンダー – DAX を使用して日付を計算する

ステートメントに進み、最後の部分は RETURN Result です。

LuckyTemplates ホリデー カレンダー – DAX を使用して日付を計算する

最後に、チャレンジの追加ボーナスとしてのCelebrated Onメジャーについて説明したいと思います。これは、前のメジャーで計算した休日の日付を取得し、Dates テーブルに移動して、曜日の名前を検索する単純なLOOKUPVALUE ですそして、 DayLookupの結果を取得するSWITCHステートメントを実行しました最後に、 RETURN DateAdjustで締めくくります。

LuckyTemplates ホリデー カレンダー – DAX を使用して日付を計算する


LuckyTemplates で祝日のカレンダー テーブルを作成する
LuckyTemplates カスタム カレンダー: 月ごとの変化の計算 –
LuckyTemplates の非標準日付テーブルの 445 カレンダー時間比較

結論

前述したように、この LuckyTemplates ホリデー カレンダーの課題は現実世界の問題です。私が思いついた解決策は非常に複雑ですが、特定の休日の日付を計算するには非常に効果的です。

このチュートリアルから多くのことを学んでいただければ幸いです。DAX 対策の詳細なウォークスルー説明については、完全なビデオ チュートリアルをご覧ください。

乾杯!


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 ゲートウェイとは何ですか? 知っておくべきことすべて