0

MDXクエリは負の値を非常にうまく処理しませんか?パフォーマンスは賢明ではありませんが、奇妙な結果が得られますか?MDXネガティブ値の処理

私は奇妙な結果があります。ファクトテーブルの最初の列には、nullキー値を表す負の値があります。

私はMDXクエリを作成しません。私は単にドラッグアンドドロップするだけで、ソフトウェアはMDXを作成しています。

編集パート1: 私が使用しているソフトウェアはPentaho User Consoleです。それをユーザーコンソールに入れるために、私はスキーマとベンチマークをスキーマワークベンチを使用して設定する必要があります。

実際のデータ自体は正確です。

通常、ドリルダウンすると、結果が表示され、ユーザーコンソールのドリルダウンが表示されます。負の値。しかし、私は値を戻すことはありません。 I MDXは負の値を別々に扱いますが、私はMDXの初心者です。私は10-15分のGoogle検索でそれをベースにしています。

サンプルデータ: 寸法ID値:

business_id, carrier_id, at_id, as_id, device_id, created_date_id, created_for_id, cancel_date_id, completed_date_id 

測定:各列のactivity_count

サンプル値:

-1, 100, 29, 1, 300, 4269, 500, 1020, -1, 1134 

活動カウント= 1

編集パート2 :

私はMDXログを取得しようとしています。

は、私は現在の行に 「business_id」を入れています、物事をシンプルに保つために、 私の唯一の尺度である「activity_count」 と私はbusiness_id = -1をフィルタリングしようとしています。

私はMDXと経験の浅いですが、私はMDXは、このようなものになります想像:それは

Mondrian Error:No function matches signature '<Level> = <Numeric Expression>' 

しかし、私を言うので

select [measures] on columns 
from [cube_name] 
where [business_filters].[business_id] = -1 

は、今私は現在、エラーメッセージが出ていをTHINKこれはMDXが一種のように見えるものです。皆さんはどう思いますか?

編集パート3:

興味深い事実:私は、データベースのテーブルに行けば、business_idのための私のメジャー値= -1は任意の行の場合はnullではありません。

MDXを生成すると、値はNULLになります。 -1の値を正の値に置き換えた場合、返される数値は正確です。どうしてこれなの 。 。 。

select 
    non empty {[Measures]} 
on columns, 
    [business_filters].[business_id].[-1] 
on rows 
from 
    [activities_fact_01] 
+0

ソフトウェアとは何ですか?あなたは提供することができます:サンプル値、期待される出力と実際の出力? –

+0

あなたの質問に答えるために上記の私の投稿を編集しました。 ?_whenはそれが異なって扱われている_ – LunchBox

+0

私たちは気づいていませんでした負の数は、「異なる扱い」されています私の価値は32でしたが、ドリルダウンしようとするとデータが返されませんでした(これは負のキー値でのみ発生します)。私の理論では、MDXは負の数ではうまく機能しませんでした。しかし、私はMDXをよく知らないので、間違っている可能性があります。 – whytheq

答えて

0

私は何が間違っているかを考え出しました。

それは次元ではありませんでした外部キ​​ー値を持つとしなければなりませんでした。私がPentahoでドリルダウンするとき、外来キーに対応する主キー値がないため、これらの結果は戻ってこなかった。

私はこれを理解するために1.25日を費やしましたが、私は決してそのミスを繰り返すことはありません:)

関連する問題