2017-07-17 11 views
0

microstrategyでQlikview Aggr関数を複製しようとしています。私は以下のQlikviewコードを持っています、そして、私が考えるのは同等のSQL変換です。フィールドは自分のデータセットの属性になります。アイデアは、ダッシュボードのフィルタから値を選択すると、メトリックの「where」句がフィルタリングされます。マイクロストラテジーでメトリックにパラメータを組み込む方法はありますか?あるいは、同等のメトリックを構築する方法を提案している人はいますか?私は本当にサブクエリーの部分で私の頭を傷つけている、私は事実としてそれを構築することができ、それからメトリックを構築することはできませんか?Qlikview "Aggr" Microstrategyの同等機能

Qlikview: 

Max({<Field1=>} Aggr(Sum({<Field2={'Value1'},Field3={'Value2'}, Field1=>} ThingCount), Field1)) 






SQL Equivalent: 

select 
Max(Value) 
    from(
    select Sum(case when Field2 in ('Value1') 
          and Field3 in ('Value2') 
          and Field1 is not NULL 
        then ThingCount end) as Value, 
    Field1 
    from Table 
    where Field1 = "FilterValue" 
    group by Field1 
    )a 

答えて

0

あなたはMSTRで2つのメトリックを構築する必要がありますしたいSQL入手するには、次の場合とSUMを計算

  • 1を、(実際に私は、実際の定義にケースを置きます) 。

  • 第2のメトリック(レベルメトリック)は、Field1属性を無視してMAXを計算します。

whereは、MSTRドキュメント/ダッシュボードのセレクタです。

+0

私に連絡していただきありがとうございます。あなたが記述した事実と最初のメトリックは、複数の価値があります。 Valueとfield1という2つのフィールドが返され、それら2つのフィールドには複数の値が入ります。マイクロストラテジーで可能ですか? – ndderwerdo

+0

私が説明したことは、あなたが求めたクエリを(多かれ少なかれ)返します。 MicroStrategyでは、メトリックはファクト(ファクトテーブルの数値カラムである必要があります)の上の計算で、Field1はMicroStrategyのアトリビュートになります。私はここからあなたを助けることはできません。あなたはMSTRの理解を深めるのに役立つ人を見つけ出すか、この問題を解決する方法を教えてください – mucio

関連する問題