MDX クエリ のパラメータ名が日本語の場合の手直し方法

Microsoft TechNetSQL Server 2008 オンライン ブック 変数とパラメータの使用 (MDX)」
http://technet.microsoft.com/ja-jp/library/ms145518.aspx
のサンプル XMLA コードは以下のとおりです。


  
    
      
        
          select [Measures].members on 0,
          Filter(Customer.[Customer Geography].Country.members,
          Customer.[Customer Geography].CurrentMember.Name =
          @CountryName) on 1
          from [Adventure Works]
        
      
      
      
        
          CountryName
          'United Kingdom'
        
      
    
  

このサンプルのままでは SQL Server Managment Studio からの XMLA 発行では正しく動作しません。
Properties を記述すると動作します。


  
    
      
        
          select [Measures].members on 0,
          Filter(Customer.[Customer Geography].Country.members,
          Customer.[Customer Geography].CurrentMember.Name =
          @CountryName) on 1
          from [Adventure Works]
        
      
      
        
          Adventure Works DW 2008
        
      
      
        
          CountryName
          'United Kingdom'
        
      
    
  

さて、パラメータ名に日本語(ダブルバイト文字)を使用したい場合はどのように記述すればよいでしょうか。
正解は @ValiableName → @[変数名] です。


  
    
      
        
          select [Measures].members on 0,
          Filter(Customer.[Customer Geography].Country.members,
          Customer.[Customer Geography].CurrentMember.Name =
          @[カントリーネーム]) on 1
          from [Adventure Works]
        
      
      
        
          Adventure Works DW 2008
        
      
      
        
          カントリーネーム
          'United Kingdom'
        
      
    
  

ディメンション名や属性名を日本語にしている場合に SSRS の MDX クエリビルダで MDX を作成すると パラメータ名も日本語になります。このクエリを手直しする手段として使えます(@ValiableName → @[変数名])。

参考情報として、日本語をそのまま使ってしまった場合(@ValiableName → @変数名 )の(XMLAでの)エラーメッセージ(構文解析エラー)を記載しておきます。


  
    
      XMLAnalysisError.0xc10e0005
      パーサー: 解析中に次の構文エラーが発生しました: Invalid token, Line 5, Offset 11, @。