3

Tableau でデータの視覚化を準備しています。次のように単純化できるデータがいくつかあります。

Name, Score, Tag
Joe, 5, A;B
Phil, 7, D
Quinn, 9, A;C
Bill, 3, A;B;C

Tag各項目 A、B、C の出現回数をカウントするワード クラウドをフィールドに生成したいと思います。だから私はこれを生成する必要があります:

A,3
B,2
C,2
D,1

つまり、区切られた値のリストを含むフィールドの操作に助けが必要です。例のデータ;では区切り文字ですが、何でもかまいません。ユーザーがフィルターを適用すると、ワード クラウドが更新されるようにします。たとえば、スライダーを set にドラッグしますscore > 5。そのため、タグのカウントはオンザフライで行う必要があります。

フィールド計算と表計算を使用する必要があると確信しています..?おそらく、タグを追跡する別のテーブルが必要になるでしょう..?

ワード クラウドやその他の Viz 要素の作成に問題はありません。私が助けを求めているのは、区切りリスト フィールドの解析とタグ カウントの計算です。

私はソース データを完全に制御できるので、スキーマを再編成することでこれを行う簡単な方法があれば、喜んでそれを行います。tag1フィールドを別々の 、tag2tagX フィールドに分割し、別々のフィールドを数えようとすることを考えました...しかし、これがより簡単かどうかはわかりません。

ヒントをありがとう。

4

2 に答える 2

0

固定された 3 つまたは 4 つのタグのセットがある場合に許容できるアプローチを次に示します。50K に近い可能性のあるタグがあるため、そのままでは問題に対する実行可能なアプローチではありません。しかし、おそらくそれはあなたにアイデアを与えるでしょう。同様のアプローチを使用して、Tableau のさまざまな種類の問題を解決できるため、知っておくと便利な方法です。

タグごとに、現在の行にその特定のタグが含まれている場合は 1 を返し、それ以外の場合は null を返すブール演算フィールドを作成します (または、条件を詳しく説明したい場合)

たとえば、次のように定義された Tag_A という計算フィールドを定義します。

if contains(Tag, "A") then
  1
end

同様に、計算フィールド Tag_B、Tag_C などを定義します

ここまでは簡単です。次に、これらのフィールドを他の計算で使用して、タグ A を含むレコードの数をカウントしたり、A を含むレコードのみにフィルター処理したり、数式によって動的に計算されるセットを定義するときに条件タブの計算フィールドを使用したりできます。もちろん、低レベルの計算フィールド関数はより複雑になる可能性があります。たとえば、リストから少なくとも 2 つのフィールドが存在するかどうかをチェックします。

少なくとも、このアプローチにより、複雑な問題を一口サイズの断片に分割できる場合があります。

残念ながら、計算されたフィールド名をハード コーディングしても、50,000 個のタグに対応することはできません。そのためには、おそらくデータを再形成する必要があります。

于 2014-01-21T04:13:48.873 に答える