SSAS、OLAP、MDXの構文が新しくなりました。OlapキューブとMDXとNON EMPTY
だから私は(SSASへのリンクサーバーによって)TSQL
でキューブを照会するために、このMDX
を持っており、それが正常に動作します:
select * from openquery(GCUBE,
'SELECT NON EMPTY { [Measures].[Valore] } ON COLUMNS,
NON EMPTY {
([Prodotti].[Top Marca].[Top Marca].ALLMEMBERS
* [Prodotti].[Top Codice].[Top Codice].ALLMEMBERS
* [Agenti].[Vw Agenti].[Vw Agenti].ALLMEMBERS
* [Calendario].[AnnoMese].[Mese].ALLMEMBERS
* [Prodotti].[Ordinamento].[Ordinamento].ALLMEMBERS
* [Prodotti].[Top].[Top].ALLMEMBERS)
}
DIMENSION PROPERTIES MEMBER_CAPTION
ON ROWS FROM (SELECT ({ [Calendario].[Anno].&[2012] })
ON COLUMNS FROM (SELECT ({ [Agenti].[Vw Agenti].&[005] })
ON COLUMNS FROM [Vendite])) WHERE ( [Calendario].[Anno].&[2012])'
)
まあ、[Prodotti].[Top Marca]
は50トップの販売とテーブルに基づく寸法であり、このMDXは特定のIDエージェント[Vw Agenti] = 005
によってフィルタリングされています。
エージェントが会社の50のトップセールブランドをどのように販売しているかを調べることです。
クエリは正常に動作しますが、このエージェントが販売していないブランドが1つあり、空の行を表示する必要があります。
下の図は、位置(ランク)31に対してのレコードがないことを示しています。
私はNON EMPTY
についての概念を理解するが、私はまた、空のレコードを表示する権利構文を見つけることができません。
MDXをどのように変更すればよいですか?
私はNON EMPTY
を削除しようとしましたが、私は一般的なエラーが出る:
Cannot execute the query against OLE DB provider "MSOLAP" for linked server "GCUBE"
私は、キューブのディメンションTop Marca
を変更する必要がありますか?
私を助けたり、これを解決するための適切なヒントを与えることができる人には、事前に感謝します。
NON EMPTYを削除するときのエラーは何ですか? –
@Marc、エラーの詳細を追加しましたが、一般的なエラーが表示されます –
なぜ列と行の両方にAgentiを要求していますか? –