動的計算要素を作成する
静的な計算とビジュアルでは、レポートのパフォーマンスに関する問題が発生する可能性がありますが、計算グループ、動的書式指定文字列、フィールド パラメーターを使用してセマンティック モデルに柔軟性を加えることができます。 これらの機能では、計算を簡略化し、レポートの視覚化を減らすことで、レポートをスケーラブルで使いやすいものにすることができます。
計算グループ
計算グループを使用すると、複数のメジャーに適用される再利用可能な計算を定義できるため、冗長性が減り、セマンティック モデルのメンテナンスが簡略化されます。 計算グループを使用すると、タイム インテリジェンス関数などの複雑な計算をモデル全体で効率化できます。
年度累計 (YTD)、四半期累計 (QTD)、および月度累計 (MTD) の売上データを計算する必要があるとします。 タイム インテリジェンス関数ごとに個別のメジャーを作成する代わりに、計算グループを使用してこれらの計算を効率化することにします。
この例では、次の計算項目を含む Time Intelligence という計算グループがあります。
Year-to-Date (YTD) =
CALCULATE(
SELECTEDMEASURE(),
DATESYTD('Date'[Date])
)
//
Quarter-to-Date (QTD) =
CALCULATE(
SELECTEDMEASURE(),
DATESQTD('Date'[Date])
)
//
Month-to-Date (MTD) =
CALCULATE(
SELECTEDMEASURE(),
DATESMTD('Date'[Date])
)
これで、フィルター ウィンドウ、スライサー、ビジュアル、さらにはメジャー内の参照で計算グループを使用できるようになりました。 さまざまな計算項目 (YTD、QTD、MTD) が自動的に表示され、ビジュアルでフィルター処理または展開されます。
次の図では、YTD、QTD、MTD の合計売上を含む 3 会計年度のマトリックスがあります。 また、ユーザーがさまざまな選択肢を切り替えることができる計算グループ用のスライサーもあります。 ビジュアルは次のように構成されます。
- 行:Date[Year] フィールド
- 列:Time Calc 計算グループ
- 値: Total Sales メジャー
計算グループがない場合は、必要な計算ごとに YTD、QTD、MTD メジャーを作成する必要があります (Total Sales、Profit、Target など)。 代わりに、ビジュアルを作成し、計算グループとその他のメジャーを追加します。
計算グループの動的で再利用可能な性質により、セマンティック モデルをスケーリングするのに非常に強力なものとなります。
ヒント
詳細については、Power BI で計算グループを作成する方法に関するドキュメントを参照してください。
フィールド パラメーター
フィールド パラメーターでは、ユーザーがさまざまなフィールドまたはメジャーを動的に選択できるようにすることで、対話型レポートを作成できます。 この機能は、ユーザーが表示するデータを選択できるカスタマイズ可能なレポートを作成する場合に便利です。
このシナリオでは、Product、Category、Color フィールドを含む新しいパラメーターを作成しました。 次は、Total Sales メジャーを使用し、それらの個々のフィールドではなく、ビジュアルにパラメーターを追加します。 また、ユーザーが選択したフィールドを切り替えられるように、パラメーターを持つスライサーを追加します。 次の図は、X 軸のパラメーターと Y 軸の Total Sales で構成された、Category 別の Total Sales の縦棒グラフを示しています。 スライサーは、Product、Category、Color 別の Total Sales を動的に切り替えるためにも存在します。
フィールド パラメーターの前に、レポート開発者は Product 別の Total Sales のビジュアルを作成し、Category と Color についてこの作業を繰り返します。 ユーザーは、ビジュアルを重ね合わせ、ブックマークとボタンを追加することで、同様のエクスペリエンスで異なるビジュアルを切り替えることができます。 しかし、レポート ページに追加するビジュアルが多いほど、パフォーマンスに影響する可能性があります。
ヒント
詳細については、レポート閲覧者がフィールド パラメーターを使用してビジュアルを変更できるようにする方法に関するドキュメントを参照してください。
動的書式指定文字列
動的書式指定文字列を使用すると、条件に基づいてメジャーの形式を調整でき、データの読みやすさと表示が向上します。
売上高をその値に基づいて異なる形式で表示するとします。
- 1,000,000 を超える売上の場合は百万 (M)。
- 1,000 から 1,000,000 までの売上の場合は千 (K)。
- 1,000 を下回る売上の場合は正確な値。
次のコードでは、SWITCH 関数を使用して、売上金額に基づいてさまざまな形式を適用します。
Total Sales with Format =
SWITCH(
TRUE(),
[Total Sales] > 1000000, FORMAT([Total Sales], "$#,##0,,M"),
[Total Sales] > 1000, FORMAT([Total Sales], "$#,##0,K"),
FORMAT([Total Sales], "$#,##0")
)
動的書式指定文字列を使うと、データの表示が簡略化され、複数の計算やビジュアルの必要性が軽減され、計算グループと共に使用して、コードの複雑さとメンテナンスを軽減できます。
ヒント
詳細については、メジャーの動的書式指定文字列を作成する方法に関するドキュメントを参照してください。