1

私は、ユーザーが簡単な単語を入力できるようにする ExcelDNA C# xll に取り組んでおり (ガイダンスの下で)、ユーザーがリモートの ActivePivot キューブに対してクエリを実行できるように精巧な MDX を構築しています。

テスト中に、フィルタリングすると総計が消えることに気付きました (おそらく、タプルを結合していると思われます)。総計を取得するにはどうすればよいですか? SCOPE を使用したり、計算されるメンバを作成したりする必要がありますか?

より高度な MDX の人々に感謝します。

SELECT 
  NON EMPTY 
    {
      [Measures].[Notional.SUM]
     ,[Measures].[Notional.SHORT]
     ,[Measures].[Notional.LONG]
    } ON COLUMNS
 ,NON EMPTY 
    Hierarchize
    (
      Filter
      (
        (
          [CDR].[CDR].MEMBERS
         ,[Book].[Book].MEMBERS
        )
       ,
        Left([Book].[Book].CurrentMember.MemberValue,2) = "22"
      )
     ,POST
    ) ON ROWS
FROM [TraderCube]
WHERE 
  [Date].[Date].[2020-01-24];
4

1 に答える 1

1

以下は、AdvWrks キューブに対して類似したものです。

WITH 

  //>>inside the WITH clause we have moved the set
  SET [FilteredSet] AS 
    {
      Filter
      (
        [Reseller].[Reseller Type].[Business Type].MEMBERS
       ,
          Left([Reseller].[Reseller Type].CurrentMember.MemberValue,2) = "sp"
        OR 
          Left([Reseller].[Reseller Type].CurrentMember.MemberValue,2) = "VA"
      )
    } 

  //>>next we create a custom member that is the sum of the filtered set 
  MEMBER [Reseller].[Reseller Type].[All Visible Resellers] AS 
    Aggregate([FilteredSet]) 
SELECT 
  NON EMPTY 
    {[Measures].[Reseller Sales Amount]} ON COLUMNS
 ,NON EMPTY 

    //>> inside these curly brackets we declare a set that is the filtered set and the Total member
    { 
      [FilteredSet]
     ,[Reseller].[Reseller Type].[All Visible Resellers]
    } ON ROWS
FROM [Adventure Works]
WHERE 
  [Date].[Calendar].[Calendar Year].&[2013];

上記の結果は次のとおりです。

ここに画像の説明を入力

于 2020-01-30T17:25:44.397 に答える