2017-06-20 4 views
1

基本的には、スライサーに従ってCUBESET関数の結果をExcelでフィルタリングしようとしていますが、実際にはどこにも行きません。Excelスライサーを使用したキューブセットのフィルタリング

私はクライアントとその状態に属する2列の表と、ユーザーがフィルタリングできる状態のスライサーを持っています。シートには、選択した状態のすべてのクライアントをセルに表示する部分がありますので、にはスライサーでフィルタリングされたCUBESETを使用したいと考えています。

= CUBESET("server\Clients", "FILTER([Client List].[FULL_NAME].Members, 
[Client List].[State].Currentmember.Membervalue = 'QUEENSLAND')")` 

しかし、ここでの結果は、(私は CUBESETCOUNTを使ってチェックする)空である:Iハードコード値の基本的なケースでは、私が試してみました。フィルターは [Client List].[FULL_NAME].Membersを反復処理しますが、私は [Client List].[State]をフィルターにかけようとしているため、問題があると確信しています。

このような何かが動作する場合、私は何をしたいことのようなものです:唯一の1の状態は今まで一度に選択されることを知っ

= CUBESET("server\Clients", "FILTER([Client List].[FULL_NAME].Members, 
[Client List].[State].Currentmember.Membervalue = Slicer_State)") 

私はMDXについてよく知らないので、答えはそこにあると思われますが、何を試していいのか分かりません。

答えて

0

私はyourfirstハードコーディングされたスクリプトの観点から考える:

=CUBESET("server\Clients", "FILTER([Client List].[FULL_NAME].Members, [Client List].[State].Currentmember.Membervalue = 'QUEENSLAND')") 

あなたはEXISTS使用することができるはずです:https://docs.microsoft.com/en-us/sql/mdx/exists-mdx

=CUBESET("server\Clients", "EXISTS([Client List].[FULL_NAME].[FULL_NAME].MEMBERS, {[Client List].[State].&[QUEENSLAND]})") 

をしかし、それが以下の、さらに簡単なスクリプトをharcoding価値があります上記の各要素が正しいことを確認してください:

=CUBESETCOUNT(CUBESET("server\Clients", "[Client List].[FULL_NAME].[FULL_NAME].MEMBERS")) // should return the number of members in full_name 

=CUBESETCOUNT(CUBESET("server\Clients", "{[Client List].[State].&[QUEENSLAND]}")) // should return 1 
+0

ありがとうそれのためにあなたはなぜ?これは、ハードコードされた値に対して機能します。スライサーの使用に関するアイデアはありますか? –

関連する問題