0

ビジネス ユニット階層によって分割された時間全体の 3 つのメジャーを表示する単一の「グリッド」オブジェクトで構成される基本的なダッシュボードがあります...

ビジネス ユニット階層のいずれかのレベルで 1 つのアイテムをフィルター処理すると、すべてが正しくロールアップされます...

ここに画像の説明を入力

ただし、同じレベルで複数のアイテムをフィルター処理すると、ロールアップされた値は視覚的な合計に基づいていません...

ここに画像の説明を入力

上の画像では、「すべて」行の値は、フィルタリングされていないビジネス ユニット階層全体の値を表しています。フィルターの選択に関係なく、「VisualTotals」が有効になっているかのようにグリッドがロールアップされると理想的です。その場合、上記の 2 番目の画像では、「すべて」行の値が次のようになると予想されます...

PO E-PO Count = 3531     (497 + 3034)
PO Count =      7923     (2094 + 5829)

VisualTotals() MDX 関数を使用することを検討しましたが、クエリをカスタマイズしたくないと思います。これは、エンド ユーザーが上/下/横方向にディールする能力が低下することをどこかで読んだためです。

4

1 に答える 1

1

これが PPS のしくみです。結局、プロファイラーを使用して両方のシナリオで生成される MDX をキャプチャし、PPS は計算されたメンバーを使用して (Excel のような SUBSELECT を使用する代わりに) 複数選択を集計します。非視覚的な合計の影響...

WITH MEMBER [Business Unit].[Segment Division Plant].[ Aggregation] AS 
Aggregate
(
  {
    [Business Unit].[Segment Division Plant].[Plant].&[PAK]&[FLG]&[2520]
   ,[Business Unit].[Segment Division Plant].[Plant].&[PAK]&[FLG]&[2504]
  }
) 
,SOLVE_ORDER = 0 
SELECT

...<snip>...

    Hierarchize
    (
      {
        [Business Unit].[Division Plant].[All]
       ,Descendants
        (
          [Business Unit].[Division Plant].[All],
         ,AFTER
        )
      }
    ) ON ROWS

...<snap>...

Excel のような SUBSELECT を使用した場合、動作は VisualTotals を表し、MDX は次のようになります...

  FROM 
  (
    SELECT 
      {
        [Business Unit].[Segment Division Plant].[Plant].&[PAK]&[FLG]&[2504]
       ,[Business Unit].[Segment Division Plant].[Plant].&[PAK]&[FLG]&[2520]
      } ON COLUMNS
   FROM [<cube name>]
  )
于 2012-02-25T13:37:37.693 に答える