ホームページ  >  記事  >  ウェブフロントエンド  >  パフォーマンスの最適化: ピボット テーブルに最適なデータ ソースを選択する

パフォーマンスの最適化: ピボット テーブルに最適なデータ ソースを選択する

WBOY
WBOYオリジナル
2024-09-04 14:31:32899ブラウズ

Optimize Performance: Choose the Best Data Source for Pivot Table

TL;DR: Syncfusion ピボット テーブルは複数のデータ ソースに接続し、データ分析のための多用途ツールになります。適切なデータ ソースを選択することは、パフォーマンスにとって非常に重要です。このガイドでは、さまざまなオプションを検討し、最適なものを選択するためのヒントを提供します。

Syncfusion ピボット テーブルは、データ分析と視覚化のための強力なツールです。その際立った機能の 1 つは、さまざまなデータ ソースに接続できることであり、企業や開発者にとって多用途の選択肢となっています。ピボット テーブルに適切なデータ ソースを選択することは、最適なパフォーマンスと使いやすさを確保するために非常に重要です。

Syncfusion ピボット テーブルに接続できるさまざまなデータ ソース、その利点、ニーズに最適なデータ ソースを選択する方法を見てみましょう。

Syncfusion ピボット テーブルについて

データ ソースに入る前に、Syncfusion ピボット テーブルとは何か、またその仕組みを理解することが重要です。 Syncfusion ピボット テーブルは、ASP.NET MVC、ASP.NET Core、TypeScript、JavaScript、Angular、React、Vue、および Blazor プラットフォーム用のコンポーネントです。データ分析用のインタラクティブなテーブルを作成し、データのフィルタリング、並べ替え、グループ化、集計などの機能を提供できます。

ピボット テーブルのデータ ソースを選択する際に考慮すべき要素

ピボット テーブルのデータ ソースを選択する際に考慮する必要がある重要な要素をいくつか見てみましょう:

データ量と複雑さ

データのサイズはパフォーマンスに影響を与える可能性があります。大規模なデータセットには、より強力なデータベースまたは最適化されたストレージ ソリューションが必要になる場合があります。たとえば、小規模から中規模のデータセットには JSON または CSV ファイルで十分な場合があります。大規模なデータセットの場合は、リレーショナル データベースや NoSQL データベース、または OLAP システムの使用を検討してください。 OLAP システムは、複雑なデータ分析と多次元データに必要な機能を提供します。より単純な分析には、JSON または CSV ファイルが実用的です。

パフォーマンス要件

アプリのパフォーマンス要件を考慮してください。一般に、データベースは、ファイルベースのデータ ソースと比較して、大規模なデータ操作のパフォーマンスが優れています。ただし、迅速かつ簡単な分析には JSON および CSV ファイルで十分な場合があります。

統合の容易さ

データ ソースを Syncfusion ピボット テーブルとどれだけ簡単に統合できるかを評価します。リレーショナル データベースと JSON/XML ファイルには通常、確立された統合方法がありますが、一部の NoSQL データベースと RESTful API では追加の構成が必要な場合があります。

リアルタイムのデータアクセス

アプリでリアルタイム データ アクセスが必要な場合は、リアルタイム機能を備えた RESTful API またはデータベースを使用します。 Excel や CSV などのファイルベースのデータ ソースは静的であるため、手動で更新する必要があります。

セキュリティとコンプライアンス

選択したデータ ソースが組織のセキュリティとプライバシーの要件に準拠していることを確認してください。データベースは多くの場合、堅牢なセキュリティ機能を備えていますが、ファイルベースのデータ ソースでは機密情報を保護するために追加の対策が必要になる場合があります。

ピボット テーブルのデータ ソースを選択するためのベスト プラクティス

ピボット テーブルのデータ ソースを選択するためのベスト プラクティスをいくつか見てみましょう:

ユースケースを評価する

アプリの特定のニーズを理解し、それらのニーズに合ったデータ ソースを選択します。データ型、必要な操作、ユーザーの期待を考慮してください。高可用性とスケーラビリティを必要とする Web アプリには、NoSQL データベースを検討してください。 SQL Server などのリレーショナル データベースは、構造化データを使用する従来のビジネス アプリに適しています。

テストのパフォーマンスとスケーラビリティ

パフォーマンス テストを実施して、選択したデータ ソースが予想される負荷を処理できることを確認します。また、将来のスケーラビリティのニーズを考慮し、アプリの成長に合わせて成長できるソリューションを選択してください。

データの品質を確保する

正確な分析にはデータの品質が最も重要です。検証やエラーチェックなど、高いデータ品質基準を維持できるデータソースを選択してください。

データ統合の計画

データ ソースを Syncfusion ピボット テーブルと統合するための明確な計画を立てます。統合プロセスを合理化するために、ミドルウェアまたは ETL (抽出、変換、ロード) ツールの使用を検討してください。 JSON および CSV データは、迅速なセットアップと使いやすさに便利です。リレーショナル データベースと OLAP システムは、より多くのセットアップとメンテナンスを必要としますが、より優れた機能を提供します。

Syncfusion ピボット テーブルはさまざまなデータ ソースでどのように機能しますか?

柔軟で堅牢なデータ バインディング機能により、Syncfusion ピボット テーブルのさまざまなデータ ソースの操作が容易になります。以下を含む複数のデータ ソースをサポートします。

  • JSON データ: JSON は軽量で扱いやすいため、小規模から中規模のデータセットに最適です。
  • OLAP (オンライン分析処理): 大規模なデータセットや複雑なデータ分析に適しています。
  • リレーショナル データベース: MySQL、SQL Server、PostgreSQL などの SQL データベースは、堅牢なデータ ストレージとクエリ機能を提供します。
  • NoSQL データベース: MongoDB のような NoSQL データベースは、非構造化データに柔軟なスキーマ設計を提供します。
  • Web サービス: RESTful API や OData サービスなどの Web サービスは、リアルタイムのデータ統合や動的更新に役立ちます。
  • CSV ファイル: 小規模なデータセットと素早いセットアップの場合はシンプルです。

JSONデータ

JSON (JavaScript Object Notation) は軽量のデータ交換形式です。 Syncfusion ピボット テーブルは、JSON データを簡単に使用できるため、データが API から JSON 形式で取得されることが多い Web アプリに特に役立ちます。

利点

  • 使いやすさ: JSON は読み取り、書き込み、解析が簡単なため、Web アプリでよく使用されます。
  • 柔軟性: JSON は、ネストされたオブジェクトや配列など、さまざまなデータ構造を処理できます。

  • 軽量: JSON はコンパクトなので、ネットワーク経由で送信されるデータが削減されます。

考慮事項

  • パフォーマンス: JSON で大規模なデータセットを処理すると、非効率的で時間がかかる可能性があります。

  • 限られたスケーラビリティ: JSON は大規模または複雑なデータセットには理想的ではありません。

いつ使用するか

  • 小規模から中規模のデータセット。
  • 使いやすさと素早いセットアップが優先されるアプリ。

  • プロトタイピングとテスト。

これは、JSON データをピボット テーブルと統合するためのコード例です。

ローカル経由で JSON データをバインドします

var localData = [
    { Product: 'Bike', Country: 'USA', Sales: 100 },
    { Product: 'Car', Country: 'Canada', Sales: 200 }
];

var pivotTableObj = new ej.pivotview.PivotView({
    dataSourceSettings: {
        dataSource: localData,
        rows: [{ name: 'Product' }],
        columns: [{ name: 'Country' }],
        values: [{ name: 'Sales' }],
        filters: []
    }
});
pivotTableObj.appendTo('#PivotTable');

リモート (外部) リンクを介した JSON データのバインド

var pivotGridObj = new ej.pivotview.PivotView({
    dataSourceSettings: {
        url: 'https://cdn.syncfusion.com/data/sales-analysis.json',
        expandAll: false,
        rows: [
            { name: 'EnerType', caption: 'Energy Type' }
        ],
        columns: [
            { name: 'EneSource', caption: 'Energy Source' }
        ],
        values: [
            { name: 'PowUnits', caption: 'Units (GWh)' },
            { name: 'ProCost', caption: 'Cost (MM)' }
        ],
        filters: []
    }
});
pivotGridObj.appendTo('#PivotTable');

CSVファイル

カンマ区切り値 (CSV) ファイルは、データをエクスポートおよびインポートするための標準形式です。 Syncfusion ピボット テーブルは CSV ファイルを解析してデータ ソースとして使用できるため、スプレッドシートやその他の表形式のデータ ソースからのデータを分析するのに便利です。

利点

  • シンプルさ: 作成、読み取り、操作が簡単です。
  • 移植性: CSV ファイルは広くサポートされており、簡単に共有できます。
  • クイックセットアップ: クイックセットアップと小規模なデータセットに最適です。

考慮事項

  • パフォーマンス: 大規模なデータセットや複雑なクエリには適していません。
  • 制限された機能: 高度な機能とデータ型がありません。

いつ使用するか

  • 迅速な分析またはプロトタイプ作成のための小規模なデータセット。
  • データ移行またはインポート/エクスポートのシナリオ。
  • データ操作の必要性が最小限に抑えられたシンプルなアプリ。

これは、CSV データをピボット テーブルと統合するためのコード例です。

ローカル経由で CSV データをバインドします

var csvdata =
  'Region,Country,Item Type,Sales Channel,Total Revenue,Total Cost,Total Profit\r\nMiddle East and North Africa,Libya,Cosmetics,Offline,3692591.20,2224085.18,1468506.02\r\nNorth America,Canada,Vegetables,Online,464953.08,274426.74,190526.34\r\nMiddle East and North Africa,Libya,Baby Food,Offline,387259.76,241840.14,145419.62\r\nAsia,Japan,Cereal,Offline,683335.40,389039.42,294295.98';
var pivotObj = new ej.pivotview.PivotView({
  dataSourceSettings: {
    dataSource: getCSVData(),
    type: 'CSV',
    expandAll: false,
    formatSettings: [
      { name: 'Total Cost', format: 'C0' },
      { name: 'Total Revenue', format: 'C0' },
      { name: 'Total Profit', format: 'C0' },
    ],
    drilledMembers: [{ name: 'Item Type', items: ['Baby Food'] }],
    rows: [{ name: 'Country' }, { name: 'Region' }],
    columns: [{ name: 'Sales Channel' }, { name: 'Item Type' }],
    values: [
      { name: 'Total Profit' },
      { name: 'Total Cost' },
      { name: 'Total Revenue' },
    ],
    filters: [],
  },
  height: 290,
  width: '100%',
});
pivotObj.appendTo('#PivotTable');
function getCSVData() {
  var dataSource = [];
  var jsonObject = csvdata.split(/\r?\n|\r/);
  for (var i = 0; i < jsonObject.length; i++) {
    dataSource.push(jsonObject[i].split(','));
  }
  return dataSource;
}

リモート (外部) リンクを介した CSV データのバインド

var pivotObj = new ej.pivotview.PivotView({
    dataSourceSettings: {
        url: 'https://bi.syncfusion.com/productservice/api/sales',
        type: 'CSV',
        expandAll: false,
        enableSorting: true,
        formatSettings: [{ name: 'Total Cost', format: 'C0' }, { name: 'Total Revenue', format: 'C0' }, { name: 'Total Profit', format: 'C0' }],
        drilledMembers: [{ name: 'Item Type', items: ['Baby Food'] }],
        rows: [
            { name: 'Region' },
            { name: 'Country' }
        ],
        columns: [
            { name: 'Item Type' },
            { name: 'Sales Channel' }
        ],
        values: [
            { name: 'Total Cost' },
            { name: 'Total Revenue' },
            { name: 'Total Profit' }
        ],
        filters: []
    },
    height: 300,
    width: '100%'
});
pivotObj.appendTo('#PivotTable');

OLAP (オンライン分析処理) データ

OLAP キューブは複雑なデータ分析を可能にし、ビジネス インテリジェンス アプリで一般的に使用されます。 Syncfusion ピボット テーブルは OLAP データ ソースをサポートし、豊富な階層データ構造による多次元データ分析を可能にします。 OLAP データ ソースは、事前に集計されたデータにより、クエリ応答が高速になることがよくあります。

利点

  • パフォーマンス: OLAP は、大規模なデータセットであっても、高速なクエリとデータ分析を行えるように設計されています。
  • 複雑な分析: 複雑な計算、集計、多次元データ分析をサポートします。
  • スケーラビリティ: OLAP システムは大規模なデータセットを簡単に処理できます。

考慮事項

  • 複雑さ: OLAP システムのセットアップと保守は複雑な場合があり、専門知識が必要です。
  • コスト: OLAP ソリューションの実装と維持には費用がかかる場合があります。

いつ使用するか

  • 複雑な分析要件を伴う大規模なデータセット。
  • ビジネス インテリジェンスおよびデータ ウェアハウジング アプリ。
  • 高いパフォーマンスとスケーラビリティを必要とするシナリオ

OLAP データをピボット テーブルと統合するコード例を次に示します。

var pivotTableObj = new ej.pivotview.PivotView({
    dataSourceSettings: {
            catalog: 'Adventure Works DW 2008 SE',
            cube: 'Adventure Works',
            providerType: 'SSAS',
            enableSorting: true,
            url: 'https://bi.syncfusion.com/olap/msmdpump.dll',
            localeIdentifier: 1033,
            rows: [{ name: '[Customer].[Customer Geography]'],
            columns: [{ name: '[Product].[Product Categories]'},
                { name: '[Measures]'}],
            values: [{ name: '[Measures].[Customer Count]'},
                { name: '[Measures].[Internet Sales Amount]']
    }
});
pivotTableObj.appendTo('#PivotTable');

Relational databases

Relational databases are one of the most common data sources for our Pivot Table. They store data in tables, making it easy to retrieve and manipulate data using SQL queries. Popular relational databases include MySQL, PostgreSQL, SQL Server, and Oracle.

Advantages

  • Structured data: Data is organized in a tabular format, ideal for Pivot Tables.
  • Scalability: Suitable for handling large volumes of data.
  • ACID compliance: Ensures data integrity and consistency.

Considerations

  • Complexity: Requires knowledge of SQL for data retrieval.
  • Performance: This may require optimization for large datasets.

When to use

  • Medium to large datasets.
  • Apps requiring robust data storage and complex queries.
  • Scenarios where data integrity and relationships are essential.

NoSQL databases

NoSQL databases such as MongoDB offer a flexible schema and are designed to handle unstructured data, making them a good choice for certain types of data analysis.

Advantages

  • Flexibility: Schema-less design allows for easy modification of data structures.
  • Scalability: Excellent for handling large-scale, distributed data.

Considerations

  • Query complexity: Can be more complex to query than relational databases.
  • Consistency: May sacrifice consistency for availability and partition tolerance (CAP theorem).
  • Connectivity: We may require specific connectors or APIs for integration.

Web Services or remote data

Data can be fetched from remote servers using web services or APIs. Syncfusion Pivot Table can connect to remote data sources via RESTful services, making it ideal for apps that analyze data from various endpoints. It involves retrieving data from remote servers or databases.

Advantages

  • Real-time data: Enables real-time data integration and dynamic updates.
  • Scalability: Can handle large and distributed datasets.
  • Flexibility: Easily integrate with various services and APIs.

Considerations

  • Complexity: Requires developing and maintaining RESTful APIs.
  • Latency: Network latency can impact performance.

When to use

  • Apps needing real-time data updates.
  • Integrating data from multiple sources or external APIs.
  • Scenarios requiring high flexibility and scalability.

Here’s a code example for connecting an API service to our Pivot Table.

var data = new ej.data.DataManager({
    url: 'https://bi.syncfusion.com/northwindservice/api/orders',
    adaptor: new ej.data.WebApiAdaptor(),
    crossDomain: true,
  });
  data.defaultQuery = new ej.data.Query().take(8);

  var pivotTableObj = new ej.pivotview.PivotView({
    dataSourceSettings: {
      dataSource: data,
      expandAll: true,
      filters: [],
      columns: [{ name: 'ProductName' }],
      rows: [{ name: 'ShipCountry' }, { name: 'ShipCity' }],
      formatSettings: [{ name: 'UnitPrice', format: 'C0' }],
      values: [{ name: 'Quantity' }, { name: 'UnitPrice' }],
    },
    height: 350,
    width: '100%',
    gridSettings: { columnWidth: 120 },
  });
  pivotTableObj.appendTo('#PivotTable');

References

For more details, refer to the following references:

  • Connecting to PostgreSQL in Pivot Table
  • Connecting to Microsoft SQL Server in Pivot Table
  • Connecting to Oracle in Pivot Table
  • Connecting to Elasticsearch in Pivot Table
  • Connecting to Snowflake in Pivot Table
  • Server-Side Pivot Engine in Pivot Table

Conclusion

Thanks for reading! In this blog, we’ve explored the various options, benefits, and best practices for choosing the right data source for the Syncfusion Pivot Table, ensuring optimal performance and usability.

If you’re already a Syncfusion user, the latest version of Essential Studio is available on the License and Downloads page. We offer our new users a 30-day free trial to explore all our components’ features and capabilities.

If you need further assistance, contact us via our support forum, support portal, or feedback portal. We’re always here to help you!

Related blogs

  • Easily Group Data into Ranges in Web Applications Using Pivot Table
  • Optimize Memory Management in JavaScript Pivot Table: Best Practices and Tips
  • Easily Perform CRUD Actions in Blazor Pivot Table with SQL Database & Entity Framework
  • Efficient Report Management: Save and Load Reports in Vue Pivot Table with SQL Server and Node.js Express Server

以上がパフォーマンスの最適化: ピボット テーブルに最適なデータ ソースを選択するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。