データの読み込みと変換のベスト プラクティス

データの読み込みと変換のベスト プラクティス

LuckyTemplates レポートを準備する際に私が採用したベスト プラクティスを紹介したいと思います。ここ数年、私はデータのロードと変換に関する多くのオンライン リソースを消費してきましたが、それらは私の旅に役立ってきましたが、すぐに内容に圧倒されてしまい、結局自分でメモを作成することにしました。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。

これは決して完全なリストでもベスト プラクティスでもありません。これらは私が自分の開発に組み込んだものの一部にすぎません。また、新しい機能や強化された機能が LuckyTemplates アプリケーションに導入され、LuckyTemplates コミュニティによって提示されるにつれて、ベスト プラクティスは常に時間の経過とともに進化します。

LuckyTemplates 開発の 4 つの柱のうちの 1 つ目を紹介したいと思います。4 つの柱は、データの読み込みとデータ変換データ モデリングDAX 計算レポートと視覚化です。このブログ投稿では、開発前のセットアップと最初の柱について説明します。

データの読み込みと変換のベスト プラクティス

目次

自動日付/時刻を無効にする

の自動日付と時刻機能を無効にすることを強くお勧めします。これを行うには 2 つの方法があります。

次の手順で、すべてのファイルに対してこれをグローバルに実行できます。

データの読み込みと変換のベスト プラクティス

設定を変更することで、現在のファイルに対して無効にすることもできます。

データの読み込みと変換のベスト プラクティス

関係の自動検出の無効化

また、関係の自動検出を無効にすることを強くお勧めします。[ファイル] に移動し、[オプションと設定] を表示して、データのロード後に新しい関係の自動検出を無効にすることができます。

データの読み込みと変換のベスト プラクティス

LuckyTemplates レポートでのビジュアルの操作

次に説明したいのは、LuckyTemplates レポートでビジュアルを操作できる 2 つの方法です。これらのインタラクションは、クロス フィルター処理またはクロス ハイライト表示できます。

データの読み込みと変換のベスト プラクティス

LuckyTemplates では、十字強調表示が既定で有効になっています。これを変更するには、「ファイル」、「オプションと設定」の順に移動します。レポート設定セクションの現在のファイルについて、視覚的な操作をクロス ハイライトからクロス フィルターに変更できます。

レポートを見てみましょう。既定で、LuckyTemplates は関連するビジュアルに十字の強調表示を使用していることがわかります。左側の棒グラフの 1 つのチャネルをクリックすると、2 番目の棒グラフでは、選択した部分が濃い色で強調表示され、選択されていない部分は明るい色のままであることがわかります。

データの読み込みと変換のベスト プラクティス

グラフ全体の形状は変化しておらず、強調表示された部分のみが表示されていることがわかります。これはレポート設定から変更でき、デフォルトの視覚的インタラクションをクロス ハイライトからクロス フィルターに変更できます。

データの読み込みと変換のベスト プラクティス

これを完了すると、選択または選択のグループを行うたびに、関連する棒グラフの形状が変化することがわかります。これは良い習慣です。

データの読み込みと変換のベスト プラクティス

レポートからデータセットを分離する

次にお話したいのは、データセットの開発とレポートの開発を分離することです。ここでは、ビジュアルを持たないスタンドアロン データセットとして公開されたシック データセット ファイルと、公開されたこれらのデータセットを使用するシン レポート ファイルの開発を行うことができます。

データ セットを個別に公開する利点の 1 つは、LuckyTemplates サービスの承認プロセスを使用してデータセットを宣伝および認証できることです。新しいレポートを作成するときは、承認されたデータセット、できれば認定されたデータセットを選択するのが理想的です。

データの読み込みと変換のベスト プラクティス

専用の日付テーブルの作成

レポート内に専用の日付テーブルがあることを確認してください。LuckyTemplates フォーラムで入手可能なを使用できます。M コードをコピーして空のクエリに貼り付けることができます。

専用の Dates テーブルを作成したら、2 番目にそのテーブルにマークを付けることです。これにより、LuckyTemplates でタイム インテリジェンス計算に使用できるようになります。

データの読み込みと変換のベスト プラクティス

日付テーブルに関するその他の注意事項

データテーブルが連続していて、1 日あたり 1 行あることを常に確認してください。また、ファクト テーブルの端を完全に覆っていることを確認してください。

また、日付テーブルに満年を追加します。また、日付テーブルに将来の年を追加して、将来または予測のタイム インテリジェンス計算を有効にすることもお勧めします。

レポートに表示したい日数よりも日付テーブルの日数が多い場合は、IsAfterToday 列またはフィルター ペインで使用できるオフセット列を使用して、スライサーに表示する内容を制御できます。

データの読み込みと変換のベスト プラクティス

レポートについての質問

次に話したいのは、そもそもレポートを行うべきかどうかということです。その際、ニーズを満たすために使用できる既存のレポートがあるかどうかを確認してください。レポートがない場合、ニーズを満たすために使用できる既存のデータ モデルはありますか? 使用できる既存のデータセットはありますか? それとも実際に最初から始める必要がありますか?

データの読み込みと変換のベスト プラクティス

データのステージングと参照

データのロード時に次に説明するのは、データのステージングと参照です。フラット データ テーブルを読み込む場合、Excel ファイルのように同じテーブルにファクトとディメンションが含まれる場合があります。ロードを実行し、それをステージング クエリ セクションに移動して名前を変更する場合は、 [ロードを有効にする]のチェックを外すことができます。

データの読み込みと変換のベスト プラクティス

データの読み込みと変換のベスト プラクティス

次のステップでは、ファクトおよびルックアップ ディメンションごとにそのテーブルの参照を作成し、テーブルの名前を適切に変更します。各参照を編集し、必要な列のみを保持し、重複を削除します。

データの読み込みと変換のベスト プラクティス

データの読み込みと変換のベスト プラクティス

データ モデルを整理し、独自のグループに入れます。データ モデルには常に、ビジュアルで使用するすべてのテーブルを含む Data Model というグループがあります。

データの読み込みと変換のベスト プラクティス

データ負荷の軽減

次に説明するのは、データ読み込み時のツールのパフォーマンスです。パフォーマンスに最も大きな影響を与えるものの 1 つはデータ量であるため、ロードされるデータの量をできる限り減らすように努めてください。

この公理に従います。

必要ない場合は取得しないでください。

レポートから何かを削除するよりも、レポートに新しいものを追加する方がはるかに簡単です。また、レポートに多くのことを盛り込みすぎると、経験する必要のないパフォーマンスに対するペナルティを支払うことになります。

できれば、ソース内でフィルタリングを実行してください。ソースでそれができない場合は、パワー クエリの自動フィルター ドロップダウン矢印を使用して、関心のあるフィールドをフィルターします。

データの読み込みと変換のベスト プラクティス

また、ソース内で、 [列の選択]ドロップダウンを使用し、関心のある列のみを選択することで、表示される列の数を減らすこともできます。

[列の選択]または[列の削除] のいずれかを使用できます。簡単に戻ることができるため、ベスト プラクティスとして[列の選択]を使用することをお勧めします。

後で気が変わった場合は、高度なエディターに移動して M コードを直接編集する代わりに、UI を使用して迅速に編集することができます。

データの読み込みと変換のベスト プラクティス

クエリの折りたたみ

クエリの折りたたみは、LuckyTemplates による別のデータ読み込み試行であり、複数のデータ選択と変換の手順を 1 つのデータ ソース クエリに結合します。

クエリが折りたたまれているかどうかを確認するには、クエリの適用されたステップを右クリックします。ネイティブ クエリがグレー表示されているかどうかを確認できます。

グレー表示されている場合、クエリは折りたたまれていません。グレー表示になっていない場合は、クエリを折りたたむことができます。

「データの変換」、次に「パワークエリ」に進みましょう。この表では、ナビゲーション ステップを右クリックすると、 [ネイティブ クエリの表示]がグレー表示されておらず、選択できることがわかります。

データの読み込みと変換のベスト プラクティス

ここでは単純な SQL select ステートメントを見ていきます。

データの読み込みと変換のベスト プラクティス

フィルタリングが完了した後に次のステップに進み、ネイティブ クエリを表示すると、クエリがわずかに変更されており、クエリの下部に「where」句があることがわかります。

データの読み込みと変換のベスト プラクティス

3 番目のステップに進み、それを右クリックすると、ネイティブ クエリがグレー表示されていないことがわかり、もう一度選択できるようになります。

データの読み込みと変換のベスト プラクティス

選択すると、3 つのクエリが 1 つにさらに大きく折りたたまれていることがわかります。これは、LuckyTemplates が、データをモデルに取り込む最善の方法は、私が作業を行うのではなく、ソースが作業を行うことであると言っていることです。

データの読み込みと変換のベスト プラクティス

クエリの折りたたみにデータ ソースを使用する

通常、クエリの折りたたみで使用できるデータ ソースは、テーブルやビューなどのリレーショナル データベースの標準オブジェクトです。

リレーショナル データベースに対するカスタム SQL クエリでは、クエリの折りたたみを使用できません。フラットファイルやWebデータも折りたたむことはできません。

クエリの折りたたみで使用できる変換には、フィルタリング列の削除列の名前変更、同じデータ ソースからの他のクエリへの結合などがあります。

クエリの折りたたみで使用できない変換には、インデックス列の追加列のデータ型の変更異なるデータ ソースからのクエリのマージまたは追加などがあります。

正しい接続モードの選択

パフォーマンスを向上させるために次に行うべきことは、正しい接続モードを選択することです。インポート モードはデフォルトであり、最高のレポート パフォーマンスを提供するため、可能な限り使用する必要があります。

最新のデータが必要な場合はダイレクト クエリ モードを使用できますが、パフォーマンスに悪影響を及ぼす可能性があり、その可能性が高いことに注意してください。

最後に、SSAS 多次元キューブなどのデータ ウェアハウスにアクセスするときに、ライブ接続モードを利用できます。

変換の場所を特定する

次にお話したいのは、これらの変換が行われる場所についてです。これらを行うのに最適な場所は、ソース内です。ソースで実行できない場合は、power queryで実行してください。パワークエリで実行できない場合は、DAXで実行してください。

データ変換は可能な限り上流で実行し、必要に応じて下流で実行します。

パワークエリで何かを実行できる場合は、おそらくそうすべきです。

繰り返しになりますが、レポート セッションのコンテキスト内で動的なものではない場合は、DAX を簡素化し、レポートのパフォーマンスを向上させるために、パワー クエリで実行することを検討してください。

テーブルの形状に関しては、ファクト テーブルを長くて薄くし、ディメンション テーブルを短く幅広にするように努めてください。

命名とデータ型に関するベスト プラクティス

レポート ユーザーにとって理解しやすい、一貫した名前付けと大文字小文字のスキームを使用します。レポートの命名と大文字小文字の標準に準拠するために、必要に応じてテーブルとクエリの名前を変更します。

必要に応じて、これらの命名および大文字と小文字の標準に準拠するように列の名前を変更します。また、レポートを管理するのは自分ではない可能性があるため、必要に応じてパワー クエリ ステップの名前を変更して、ステップが自己記述的なものになるようにします。

LuckyTemplates は、データのインポート時に適切なデータ型を適切に割り当てますが、場合によっては調整も必要になります。異なるテーブルの列が、同じデータ型の 2 つのテーブル間のリンク列として使用されることを確認する必要があります。

すべての日付列がテキストではなく日付であることを確認してください。日付/時刻列を別の日付列と別の時間列に分割します。

最後のステップとして、データ型を再確認します。特定の変換ではデータ型を黙ってテキストに切り替えることができるため、パワー クエリで [閉じる] および [適用] を押す前に、必ずデータ型を再確認するように練習してください。

一貫した粒度でのデータの調達

最後に説明するのは粒度です。データの読み込みと変換のプロセス中は、一貫した粒度でデータを取得するように努める必要があります。ソリューション内でさまざまな粒度を組み合わせている場合は、パワー クエリ (できれば) または DAX を使用して、参照データを適切に割り当てます。

たとえば、主要な販売データが日次レベルの場合、その粒度は日次です。予算参照データが月次レベルの場合、その粒度は月次です。以下は、粒度の調整を行う際に確認できる予算割り当て DAX 式の例です。

結論

データのロードと変換に関するこのチュートリアルがお役に立てば幸いです。そうした場合は、新しいコンテンツの通知を確実に受け取るために、LuckyTemplates YouTube チャンネルに登録することを忘れないでください。

グレッグ


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