bugfix> ssas > 投稿

mdxクエリのクロス結合結果でnullを0に置き換える必要があります。

これは私のクエリです:


WITH
MEMBER [Measures].[X] AS
([Indicador].[Indicador Descrição].&[X],[Measures].[MONTANTE])
MEMBER [Measures].[Y] AS
([Indicador].[Indicador Descrição].&[Y],[Measures].[MONTANTE])
SELECT
NON EMPTY {[Measures].[X],[Measures].[Y]} ON COLUMNS,
NON EMPTY{[Classificador Orgânico].[A].children*
[Programas e Medidas].[A].children*
[Classificador Económico Despesa].[A].children*
[Classificador Económico Despesa].[B].children*
[Classificador Económico Despesa].[C].children*
[Classificador Económico Despesa Rubricas].[A].children*
[Classificador Económico Despesa Rubricas].[B].children*
[Fonte de Financiamento].[A].children} ON ROWS
FROM [Cube]
WHERE ([Calendar].[Year].&[2018],[Calendar].[Month].&[04])


計算されたメンバーで合体をすでに使用しようとしましたが、NonEmptyCrossjoinの前にすべてのnullを置き換えます(クエリは応答しません)。

理想的な解決策は、NonEmptyCrossjoinの後でのみnullを置き換えることです。それを実現する適切な方法は何ですか?

ありがとう!

よろしく、クリスティアナディアス

回答 1 件
  • あなたは試すことができます:

    WITH
    MEMBER [Measures].[X] AS
    ([Indicador].[Indicador Descrição].&[X],[Measures].[MONTANTE]), FORMAT_STRING = '#,##0.00;-#,##0.00;;0'
    MEMBER [Measures].[Y] AS
    ([Indicador].[Indicador Descrição].&[Y],[Measures].[MONTANTE]), FORMAT_STRING = '#,##0.00;-#,##0.00;;0'
    SELECT
    NON EMPTY {[Measures].[X],[Measures].[Y]} ON COLUMNS,
    NON EMPTY{[Classificador Orgânico].[A].children*
    [Programas e Medidas].[A].children*
    [Classificador Económico Despesa].[A].children*
    [Classificador Económico Despesa].[B].children*
    [Classificador Económico Despesa].[C].children*
    [Classificador Económico Despesa Rubricas].[A].children*
    [Classificador Económico Despesa Rubricas].[B].children*
    [Fonte de Financiamento].[A].children} ON ROWS
    FROM [Cube]
    WHERE ([Calendar].[Year].&[2018],[Calendar].[Month].&[04])
    
    

    FORMAT_STRINGを追加しました。最初の引数は正の値のフォーマット方法、2番目は負の値のフォーマット方法、3番目の引数は0の値のフォーマット方法、4番目の引数はNULLのフォーマット方法です-代わりに0を表示します。

    CoalesceEmptyまたはisEmptyの使用に関する問題

    IIF(ISEMPTY(([Indicador].[Indicador Descrição].&[X],[Measures].[MONTANTE])) , 0 , ([Indicador].[Indicador Descrição].&[X],[Measures].[MONTANTE])) 
    
    

    キューブ内の空のセルをゼロで埋めているため、クロス結合の結果セットが膨大になり、クエリがおそらく完了しません。

あなたの答え