テンプレートスクール|SQLデータセット動的パラメータの利用シナリオと詳細な機能解説

DataEase オープンソース データ視覚化分析プラットフォームは、2022 年 6 月にテンプレート マーケットを正式にリリースします (https://dataease.io/templates/)。テンプレート マーケットは、DataEase ユーザーにプロフェッショナルで美しく、すぐに使えるダッシュボード テンプレートを提供することを目的としています。これにより、ユーザーは自分のビジネス ニーズや使用シナリオに応じて対応するダッシュボード テンプレートを選択し、高度なデータに基づいて独自のダッシュボードを簡単に作成できます。 -高品質のテンプレートプレート。現在、DataEase テンプレート マーケットのテンプレート数は 100 を超えています。

新しいテンプレートは 2023 年 7 月に利用可能になります

DataEase テンプレート マーケットでは、テンプレートが定期的に更新されます。教育、製造、小売、医療、オープン ソース エコロジーなどのトピックをカバーする、合計 7 つの新しいテンプレートが 2023 年 7 月にリリースされる予定であり、DataEase テンプレート マーケットでダウンロードして使用することができます。
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入

テンプレートのトリック

今月のテンプレートスキルでは、オープンソースのデータ可視化分析ツールDataEaseのSQLデータセットの動的パラメータ機能を利用して、ダッシュボードデータのクエリ時間を短縮する方法を紹介します。

DataEase が作成したダッシュボードを使用する場合、ユーザーはデータを柔軟に表示するためにフィルター コンポーネントを使用することがよくあります。ただし、これらのフィルター コンポーネントは実際には、グラフの SQL クエリに追加の WHERE 条件を追加します。データの量が非常に大きい場合、この単純な結合方法ではクエリ時間が大幅に増加し、ユーザー エクスペリエンスに影響を与える可能性があります。

クエリ効率を向上させるために、SQL データセットの動的パラメーター関数の使用を検討することをお勧めします。動的なパラメータ設定により、ユーザーは元の外部クエリを内部クエリに変換し、クエリ プロセスを効果的に最適化できます。このようにして、フィルター条件が元の SQL に直接渡されるため、大規模なデータ スキャンが回避され、クエリ時間が大幅に短縮されます。
ここに画像の説明を挿入
次の単純な SQL ステートメントを例に挙げます。動的パラメーターの受け渡しを設定せずに、スクリーニング条件を直接使用した場合の効果は次のとおりです。
– 元の SQL データ セット ステートメント:

select * from table_demo;
– ダッシュボードは動的パラメーターを渡さずにフィルター条件のスプライシング ステートメントを使用します: select * from (select * from table_demo) wherecondition = 'ダッシュボード フィルター コンポーネントの選択された条件';

動的パラメータの受け渡しを設定する場合、プリセットパラメータをフィルタ条件で直接置き換えることによる効果は次のとおりです。
– SQL データセットステートメントは動的パラメータを設定します。

select * from table_demo wherecondition = '${condition}';
– ダッシュボード フィルター条件は動的パラメーターに置き換えられます: select * from table_demo wherecondition = 'ダッシュボード フィルター コンポーネント選択条件';

1. 機能利用の前提

1. SQL データセットを使用します。

2. SQL データセット編集インターフェイスに入ったら、データ リンクの直接接続モードを選択します (直接接続とタイミング同期の違いについては、https://dataease.io/docs/user_manual/dataset_description/ を参照してください)。
ここに画像の説明を挿入
ここに画像の説明を挿入

2. 機能の使い方の詳しい説明

1. SQLデータセットの設定

この部分を例を挙げて紹介します。以下の図に示すように、単純な SQL ステートメントを通じて、HUAWEI CLOUD の請求データをクエリしました。

SELECT * FROM クラウド bill_HUAWEI CLOUD;

ここに画像の説明を挿入

ダッシュボードで請求データを使用するときは、製品をフィルター条件として使用する準備をし、その条件が SQL データ セットの動的パラメーターとして渡されることを期待します。
ここに画像の説明を挿入

このとき、SQL ステートメントの WHERE 条件を補足できますが、条件を固定値に設定する代わりに、「${xxx}」を使用します。ここで、「xxx」は変数名です。

SELECT * FROM Cloud Bill_HUAWEI CLOUD WHERE 製品 = '${製品}';

SQL ステートメントを記述した後、下図に示すように SQL データセット編集インターフェイスの右上隅にある [クエリの実行] ボタンをクリックすると、作成した SQL の実行に問題がないことをプレビューして確認できます。

注: WHERE 条件を追加しましたが、実際の値が変数に渡されなくても、元の SQL の実行と使用には影響しません。
ここに画像の説明を挿入

実際の値を渡した後、SQL クエリの結果が期待どおりであるかどうかをさらに確認する必要がある場合は、SQL データセット編集インターフェイスの右上隅にある [パラメーター設定] オプションをクリックします。
ここに画像の説明を挿入

下図の指示に従って関連パラメータの設定を完了し、「OK」ボタンをクリックします。
ここに画像の説明を挿入

SQL データセット編集インターフェイスの右上隅にある [クエリの実行] ボタンを再度クリックして、実行結果を確認します。以下の図に示すように、このクエリの結果はすべて「エラスティック パブリック ネットワーク IP」に設定されている製品タイプのデータであり、動的パラメータが正常に有効であることがわかります。
ここに画像の説明を挿入

追加する必要があるのは、以下の図に示すように、「パラメーター設定」を実行するときに、ドロップダウン オプションの 2 つのパラメーターの違いが次のとおりであることです。

■ 編集時のみ有効: パラメータ設定で割り当てられた値は、このデータセットの編集インターフェイスでの「クエリの実行」テストにのみ使用され、その値はデータセットの編集インターフェイスを離れた後は効果がありません。

■ データセットがプレビューされるときにグローバルに有効になります。パラメータ設定で割り当てられた値は、データセット編集の「クエリの実行」テストで有効になるだけでなく、その値は SQL データセットのデフォルト条件としても使用されます。データセットは外部でプレビューされます。同様のことが有効になります。
ここに画像の説明を挿入

[データ セットのプレビュー時にグローバルに有効] オプションを設定した後、SQL データ セット編集インターフェイスを終了します。このとき、データ セット インターフェイスのプレビューの効果は次のようになり、クエリ結果もプロダクト タイプのデータとして残ります。 「エラスティック パブリック ネットワーク IP」に設定されています。
ここに画像の説明を挿入

2. ダッシュボードでのアプリケーション

上記で構成した HUAWEI CLOUD クラウド請求 SQL データ セットを使用して、いくつかの簡単なグラフを作成します。以下は、フィルタリングされていない元のダッシュボードです。
ここに画像の説明を挿入

テキスト ドロップダウン フィルター コンポーネントもダッシュボードに配置され、HUAWEI CLOUD 請求 SQL データ セット内の製品がフィルター条件として使用されます。
ここに画像の説明を挿入

以下の図に示すように、このコンポーネントを SQL データセットの事前設定パラメーターに関連付けます。対応するパラメーターを確認するだけです。
ここに画像の説明を挿入

パラメータの関連付けを保存した後、ダッシュボードに戻ります。下図のフィルタ条件を使用して値を選択すると、選択した値が上で設定した「Product」変数に直接渡されます。
ここに画像の説明を挿入

テキスト ドロップダウン コンポーネントを再編集し、パラメーター バインドを削除して保存し、ダッシュボード データ フィルター効果を再度テストします。
ここに画像の説明を挿入

フィルター条件からフィルターするデータ値を選択します。この時点では SQL データ セットの動的パラメーターはバインドされていません。つまり、選択された値は "Product" 変数に直接渡されず、結合されます。外側の SQL 層の新しいフィルター。ただし、ダッシュボード データのフィルタリングには影響せず、下図に示すように、ダッシュボードのフィルタリング結果は以前と同じです。
ここに画像の説明を挿入

要約する

SQL 動的パラメータの受け渡しは、ユーザーのクエリ条件を外部パラメータの受け渡しから内部パラメータの受け渡しに変換することで、クエリの効率を効果的に向上させます。ただし、特にデータ量が少ない場合、すべてのシナリオで動的パラメーターの受け渡しを使用する必要があるわけではありません。この関数はクエリ効率の向上に役立ちますが、SQL クエリのパフォーマンスの問題をすべて解決できるわけではありません。

動的パラメータの受け渡しを使用する場合は、メリットとデメリットを総合的に考慮し、状況に応じて使用するかどうかを慎重に選択する必要があります。SQL ステートメント、データベース テーブル、およびデータベースをさらに最適化することも、クエリのパフォーマンスを向上させる鍵となります。

Supongo que te gusta

Origin blog.csdn.net/FIT2CLOUD/article/details/132186928
Recomendado
Clasificación