棒グラフ

棒グラフをFluentUIChartコンポーネントにType="bar"設定してレンダリングします。カテゴリラベルのリストと1つ以上のChartDatasetオブジェクトを渡してバーを定義します。FluentUIChartは、基盤となるChartコンポーネントをテーマ認識型のラッパーで、Chart.jsの上に構築されています。

静的データの例

3つの無色データセットからなる棒グラフ — 色はアクティブなFluentパレットから埋められます。任意のバーをクリックするとイベントペイロードをクリックし、サイトのテーマをライトとダークで切り替えるとチャートのリテーマが表示されます。

Reactの例
ブレイザーの例
React TypeScript
Razor
React
Blazor

テーマ認識

Chart.js HTML <canvas>にレンダリングされるため、CSSはバーや軸ラベル、グリッドラインに手を伸ばすことはできません。それらはラスタライズされたピクセルです。 FluentUIChart レンダリング時に解決されたCSSのカスタムプロパティを読み取り、 colorscale.ticks.colorscale.grid.colorの3 Chart.jsオプションにプッシュしてこれを回避しています。 ThemeService.ThemeChanged を支持し、テーマが変わるたびにパレットを再適用します。

自動データセットの色

nullが BackgroundColor または BorderColor 残るデータセットは、現在のアクセントカラーからFluent由来の系列パレットから自動充填されます。明示的な色を提供するデータセットは変更せずに通過されます。

要素クリック処理

ユーザーがバー(またはレンダリングされた要素)をクリックしたときに通知を受けるにはOnElementClickに登録してください。コールバックは、データセットのインデックス、データインデックス、ラベル、値、データセットラベル、そして元のIDataPointインスタンスを含むChartClickEventArgsを受け取ります。サブクラスDataPoint、コーラーが定義したコンテキスト(レコードID、地域、カテゴリなど)を付け、クリックハンドラ内のサブクラスとのパターンマッチで復元します。チャートの背景をクリックしても無視されます。

React
Blazor

チャートタイトル

Title をチャートの上に方位を表示するように設定してください。タイトルはキャンバス内でChart.jsによって描かれ、現在のテーマのテキストカラーが使われています。

React
Blazor

積み重ねチャート

Stacked="true"を並べるのではなく、重ねて積み重ねる設定にしてください。これは、すべてのシリーズの合計が意味のある棒グラフや折れ線グラフ(例:総収益=勝収+損失)に有用です。

React
Blazor

伝説の位置

LegendPosition設定で、伝例の出現場所を制御できます:"top"(デフォルト)、"bottom""left""right"、または"hidden"で完全に隠します。

React
Blazor

AggregateDataverseChartDataSource

生のFetchXMLを書かずにDataverseからチャートをフィードするために AggregateDataverseChartDataSource を使えます。セット TableNameGroupByColumnAggregateColumnAggregate。オプションで、マルチシリーズ用の SeriesColumn 、日付バケット化用の GroupByDateGrouping 、保存済みビューのフィルター条件をマージする ViewId 、またはインライン条件用の FilterXml フラグメントを追加できます。

React
Blazor

Dataverseの例

年間ごとの推定機会収益は、ステータス別(勝ち負け)で分割され、積み重ねられたもので、Dataverseから AggregateDataverseChartDataSource経由で読み込みます。バーをクリックすると、年、状況、収益を確認できます。

Reactの例
ブレイザーの例
React TypeScript
Razor

ビューベースフィルタリング

ViewIdsDefaultViewIdDataverseChartにパスすると、チャートの上にビューセレクターのドロップダウンが表示されます。ユーザーがビューを切り替えると、選択したビューのフィルター条件が集計クエリに統合され、チャートが再読み込みされます。ソースのViewIdは直接設定されているわけではなく、DataverseChartが管理しています。ビューはどのレコードが含まれているかを決定します。集約設定が、それらのグループ化やまとめ方法を決定します。

React
Blazor

ビューフィルタ例

月ごとの推定収益を表示し、ビューセレクターのドロップダウンがあります。ビューを切り替えると、異なるフィルター条件でチャートが再読み込みされるのを確認しましょう。

Reactの例
ブレイザーの例
すべての機会獲得した機会
React TypeScript
Razor

リンクされたエンティティのグループ化

GroupByLinkedEntity(またはSeriesLinkedEntity)を関連するテーブルのカラムごとにグループ化または分割するように設定します。ビルダーは<link-entity>結合を作成し、その中にgroupby属性を配置します。マルチホップ結合のための無制限ネストChartLinkedEntity.LinkedEntityをサポートしています。

React
Blazor

上記の構成により、以下のFetchXMLが生成されます:

リンクされたエンティティの例

親アカウントの業種別にまとめた推定総機会収益 — industrycode 列は account テーブルに置かれ、 customeridで接続されます。

Reactの例
ブレイザーの例
React TypeScript
Razor

関連項目

Chart API Reference — すべてのチャートクラス、列挙、データソースの完全なドキュメント。