4

プロパティでディメンションをフィルタリングしたいと考えています。
私のディメンションは、親のリーフ カテゴリを持つさまざまなカテゴリで構成されています。各カテゴリには、オンライン ステータス (true または false) があります。ディメンション内で、プロパティ「is_online」を定義します。今、ステータスでカテゴリツリーをフィルタリングしたい[is_online] = true

現在の MDX は次のとおりです。

SELECT
  FILTER(
    [Categories].allmembers,
    [categories].CurrentMember.properties("is_online") = 'true' 
  ) on 0
FROM [Cube]

次のエラーが表示されます。

Property(): the property 'is_online' was not found

誰かが解決策を知っていますか? IcCube の私のバージョンは V 5.1.6 です

寸法と特性の定義

4

3 に答える 3

0

[categories]それが機能するために別のものが必要ですか?

SELECT
  FILTER(
    [Categories].allmembers,
    [Categories].[Categories].CurrentMember.properties("is_online") = 'true' 
  ) on 0
FROM [Cube];

おそらくHAVINGが役立ちます:

WITH 
  MEMBER [Measures].[online] AS 
    [categories].currentmember.Properties('is_online') 
SELECT 
  [categories].ALLMEMBERS HAVING 
  [Measures].[online] = 'True' ON 0
 ,[Measures].[online] ON 1
FROM [Cube];
于 2016-02-13T01:25:47.277 に答える
0

これは古い投稿ですが。プロパティ名の _ をスペースに置き換えてみてください。例: 「オンラインです」。

于 2016-12-29T10:43:10.883 に答える
0

のメンバーに[Categories].allmembersプロパティ「is_online」がありません。

私の経験に基づいた推測は、デフォルトの場合、ユーザー定義のプロパティがない [All] メンバーです。

たぶん次のようなもの:

SELECT
 FILTER(
  [Categories].allmembers,
  [Categories].CurrentMember.isAll = false 
  AND
  [Categories].CurrentMember.properties("is_online") = 'true' 
  ) on 0
FROM [Cube]

次のバージョンでエラー メッセージを改善します (問題) 。

于 2016-02-13T07:46:55.430 に答える