2016-11-02 1 views
2

とタブローに私は3つのカテゴリー と私は例えば一つのカテゴリーの項目と合計計算フィールドカテゴリ

間の比率を望む総販売数 の尺度を持つディメンションがある - 私はの尺度を持っている を果物(リンゴ、オレンジ、ストロベリー) は、私が欲しいの構文に問題が総売上高

で割ったリンゴの売上高の比率

sum(([sales(fruit)='Apple']))/sum([sales]) 

答えて

1

Y条件付き集計を使用してそれを行うことができます。基本的にはちょうどそうのような集約関数の内部でif文を埋め込む:

SUM(IF [fruit] = 'Apple' THEN [sales] END)/SUM([sales]) 

分子SUM分母がすべての果物を含んでいるが、すべての非リンゴを無視します。

+0

この方法では、1つのアイテムごとに専用の計算フィールドを作成する必要があります。これは、最もスマートな方法ではないようです... –

+0

カテゴリは3つです。これは完全に管理可能であり、質問ごとに構文にOPが役立ちます。あなたは "よりスマートな"答えを提供することを歓迎します... – Nicarus

+0

私はグループごとにテーブルラインを作り、 "table down"を使って計算されたパーセンタイルとしてそれを見ることができます。実際に計算されたフィールドを作成する方が簡単だと思った – user3581800

0

user3581800、非常によく似たソリューションが、もう少し強力な(そして複雑なだけでなく)はディテールのいわゆるレベル(LOD )式を使用することです。

主な利点は、あなたが(例えば、「オレンジのためのフィルタを除外を追加してみてください)、それらを使用する必要がある必要があり、彼らはあなたがフィルタを「上書き」することを可能にするということであるのは、総売上にを新たに計算されたフィールドを作成してみましょう。:

{ FIXED : SUM([Sales]) } 

この1つは、より柔軟であるべきであるにもかかわらず、これはどんなの売上高の合計を生成しないだろう、とNicarusは彼の答えで提案されているように、あなたは計算フィールドを作成することができます。

SUM(IIF([Fruit] = "Apple", [Sales], 0))/SUM([Total Sales]) 

LOD Expressions on Tableau blogの詳細については、こちらをご覧ください。