Python における Self とは: 実際の例
Python における Self とは: 実際の例
このチュートリアルでは、データ モデルやレポートを破壊する可能性がある LuckyTemplates の 4 つの隠れた落とし穴について説明します。LuckyTemplates レポートを作成するときにこれらの問題を回避する方法だけでなく、すべての問題に効果的に対処し、LuckyTemplates 開発をスピードアップする包括的なテンプレートを作成する方法も説明します。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。
目次
LuckyTemplates レポートの作成における LuckyTemplates 黙示録の 4 人の騎士
関係の自動検出
LuckyTemplates レポートを作成するときの最初の落とし穴は、関係の自動検出です。これにより、データ モデリングに関する意思決定が、ユーザーの判断と専門知識から LuckyTemplates 内の自動プロセスに移行します。Microsoft は 90 年代の Clippy を復活させて、少なくとも公正な警告を与え、データ モデルに何かをするかどうかを承認できるようにすべきだと思います。
データ チャレンジ 15のために行っていた作業の実例です。彼女はこの Total Wins テーブルを新しいデータ モデルに組み込み、関係の自動検出をオフにするのを忘れていました。
その結果、このテーブルに間違ったタイプの 3 つのリレーションシップが間違った方向に組み込まれ、一方向のリレーションシップではなく双方向のリレーションシップが追加されました。これにより、モデル内に多くのあいまいさが生じ、DAX の精度が損なわれました。
これで電源をオフにする必要があることが分からない場合、何がそうなるかはわかりません。また、リレーションシップの自動検出がオンになっており、切断されたテーブル (スライサーの収集値など) をモデルに配置しているが、それをデータ モデルに接続したくない場合は、自動的に接続されます。それらを接続すると、基本的に、達成しようとしていたテーブルの切断された要素が役に立たなくなります。
自動日付/時刻
2 番目に説明したいのは、自動日付/時刻です。これは、専用の日付テーブルの複雑さを知らない初心者を助けることを目的とした機能だと思います。
この機能は、日付ごとに 1 つの日付テーブルを作成し、1 対多のリレーションシップの片側にデータ モデルを作成します。したがって、場合によっては、モデル内に 5 つまたは 6 つの異なる日付テーブルを作成することができます。また、奇妙な階層形式で日付を処理しなければならない方法で作成されていることも意味します。モデルが乱雑になるだけでなく、モデルの操作が困難になります。
それでは、LuckyTemplates を始めましょう。テンプレート ファイルを作成し、テンプレート内のこれらの機能をすべてオフにして、そのテンプレートを他の機能とともに保存します。新しいレポートを再作成するたびにそれを公開し、その 4 人の騎士を無視させることができます。
ここで、[オプションと設定] に移動すると、[グローバル] で関係の自動検出をオフにする方法がないことがわかります。これをオフにする唯一の方法は、[現在のファイル] の [データ ロード] です。したがって、テンプレートを作成しない場合は、毎回これをオフにする必要があります。そして、覚えていないと、悪い関係が生まれてしまいます。
したがって、自動日付/時刻と同様にこれもオフにします。さらに、非構造化ソースの列の種類とヘッダーの検出もオフになっていることを確認してください。これはPower Queryの機能であり、特に CSV ファイルの場合、最初の数百行に基づいてのみ判断するため、問題が発生する可能性があります。繰り返しになりますが、 Power BI レポートの作成時に問題を引き起こす可能性のある間違った決定がいくつか行われます。
また、自動日付/時刻をグローバルにオフにすることもできます。これは、最初の 2 人の騎手をすぐに破ったことを意味します。
次に、Date テーブルをテンプレートに追加します。私が使用する日付テーブルは、LuckyTemplates フォーラムにある Melissa の素晴らしい Extended Date テーブルです。
次に、LuckyTemplates に移動し、 [ホーム]、[新しいソース]、[空のクエリ] の順に移動します。次に、詳細エディターに移動すると、拡張日付テーブル コードを貼り付けることができます。
そしてこの時点で、私たちは決断を下さなければなりません。テンプレートを使用しているため、ファクト テーブルがどのようになるかはわかりません。レポートごとに異なります。
そのため、ファクト テーブルの期間がほぼ一定である傾向がある場合は、Date テーブルに動的な開始日と終了日を作成できます。ただし、このような状況で私が通常行うのは、正しくないとわかっている年を使用することですが、変更するのを忘れると非常に奇妙な結果が生じることはわかっています。次に、記憶を呼び起こし、Date テーブルの日付をファクト テーブルと照合するように思い出させます。
したがって、この例では、ここに 1950 を入力します。Date テーブルでは常に通年を使用したいので、1950 年末までとします。会計年度は、たとえば 7 月 1 日に始まります。
次に、[Invoke] をクリックすると、その Date テーブルが構築されます。後でファクト テーブルの期間の形状がわかったら、ここに進んで日付を変更します。これらの期間に一致するように Date テーブルが更新されます。
LuckyTemplates レポートの作成時に日付テーブルをマークする
ここで、日付テーブルのマーキングについて話したいと思います。これはまだ扱っていない他の騎士の一人です。日付テーブルでは、モデル ビューまたはテーブル ビューのいずれかで実行できます。通常はテーブルビューで実行します。
検証するフィールドを尋ねられます。拡張された日付テーブルでは、それは常に日付フィールドになります。
「検証」をクリックすると、6 つの処理が順番に実行されます。日付フィールドに一意の値が含まれていること、NULL 値が含まれていないこと、連続した日付値が含まれていること、および日付/時刻フィールドであるかどうか (この場合は日付フィールドではなく、日付フィールドであること) が確認されます。日付/時刻フィールドの場合は、その日付の各エントリに同じタイムスタンプがあることが確認されます。
さらに、先ほど説明した自動日付階層が削除されます。また、タイム インテリジェンス関数で連続した検証済みの日付を期待する特定の関数が適切に動作することも可能になります。場合によっては、適切にマークされた日付テーブルと検証された日付フィールドがないと、これらの関数が正しく動作しないことがあります。
したがって、Date テーブルをマークすると、これらすべての良いことが行われ、それをテンプレートで実行します。開始日と終了日の期間を変更した場合でも、マークされた日付テーブルとして残ります。
自動要約
最後にやりたいのは自動要約です。
最後にやりたいのは自動要約です。フィールド ビューに移動すると、すべての数値フィールドの横に合計記号が表示されます。[列ツール] の下に、これらすべての横に Sum の合計が表示されていることがわかります。これは、これらを使って何をしたいのかを知っていることを前提としています。
これは、暗黙的な対策と明示的な対策の問題になります。繰り返しになりますが、明示的なメジャーを作成するという意思決定を LuckyTemplates に引き渡したくなく、これらの Sum 関数をオフにしたいと考えています。ネイティブ LuckyTemplates では、これらすべてを同時にオフにする方法はありません。
したがって、その要約が追加されている各項目を確認し、列ツールに移動して、 「要約しない」をクリックするという面倒な作業が必要になります。これを実行すると、合計記号が削除されることがわかります。
ただし、この日付テーブルにはこれらの自動要約が多数含まれていることがわかります。もっと簡単な方法はないのかと疑問に思うかもしれません。答えは「はい」です。Tabular Editor 3 (TE3) を使用できます。
TE3 の高度なスクリプト モードを利用して、これらすべてを一度にオフにします。これを行うには、[マクロ] に移動し、 [モデル全体の要約をオフにする]をクリックします。これは、比較的短い C シャープ スクリプトであることがわかります。
次に、TOM エクスプローラーに戻り、データ モデルをクリックし、マクロを右クリックして、[モデル全体の要約をオフにする] をクリックします。これにより、数回クリックするだけで日付テーブル全体の集計がオフになりました。これは TE3 の素晴らしい機能です。
これら 4 人の騎士に加えて、やらなければならない重要なことがもう 1 つあります。リレーションシップのファクト テーブル側でキー フィールドを非表示にする必要があります。これを行うには、それらを個別に調べて、ネイティブ LuckyTemplates でそれぞれを非表示にする必要があります。ただし、これを TE3 にスクリプト化することもでき、2 回クリックするだけで、テンプレート内ですべてが正しく実行されます。
これら 4 人の騎士を倒した後、テーマや背景の点で開発の観点から作業が楽になります。このようなもの (会社のロゴ、背景色などを含むテンプレート) を作成できます。その後、それを PBX ファイルとしてではなく PBIT テンプレートとして保存できます。このファイルを開くと、4 人の騎士がすべてオフになり「敗北」した状態でデザインを始めるのに最適な場所が提供されます。
LuckyTemplates レポート開発のベスト プラクティス
LuckyTemplates レポートと視覚化に関するベスト プラクティス
LuckyTemplates でのデータ モデリング: ヒントとベスト プラクティス
結論
このブログでは、LuckyTemplates の 4 つの隠れた落とし穴とその回避方法、および迅速かつ簡単なレポート開発のためのその他のヒントを紹介しました。これが、同様のテンプレートをどのように設定してLuckyTemplates レポートを作成する際の大きな落とし穴を回避するかを考える良い材料になれば幸いです。
乾杯!
Python における Self とは: 実際の例
R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。
この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。
このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。
この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。
LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。
LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。
このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。
これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。
LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて