2016-08-24 208 views
1

Tableau 9.2では、レコードのランダムサンプルを生成することは可能ですか?もしそうなら、どうしたらいい? Field1というフィールドがあるとしたら、レコードの20%しか選択しません。Tableauのレコードの20%をランダムサンプリングするには?

ランダムシード

(DATEPART('second', NOW()) + 1) * (DATEPART('minute', NOW()) + 1) * (DATEPART('hour', NOW()) + 1) * (DATEPART('day', NOW()) + 1) 

乱数

:タブロー does notはすでにこのための機能を持っていることを当惑させてもこれまでのところ、私は、Aタブローでランダムな整数を生成する方法 foundを持っています
((PREVIOUS_VALUE(MIN([Seed])) * 1140671485 + 12820163) % (2^24)) 

ランダムint

INT([Random Number]/(2^24) * [Random Upper Limit]) + 1 

Field1の20%を占めるランダムなレコードのみを表示する計算フィールドを作成するにはどうすればよいですか?

+0

Knuth TAoCP Vol 2アルゴリズム3.4.2 S – rossum

+0

10.0にはデータ抽出のx%サンプリングのオプションがあります。あなたのためのオプションが10.0を使用している場合、私はそれを試みることをお勧めします。 –

+0

Sam M:残念ながら、私の状況ではアップグレードできません。 – Paradox

答えて

1

私は私が作ったMS AccessのVBAマクロ内で、次のMS Access SQLクエリと私のMS Accessデータベース内のバックエンドを通じて私の問題を解決することになった:

value1 = "some_value" 
    fieldName = "[my_field_name]" 
    sqlQuery = "SELECT [my_table].* " & _ 
       " INTO new_table_name" & _ 
       " FROM [my_table] " & _ 
       " WHERE [some_field] = '" & value1 & "'" & _ 
       " ORDER BY Rnd(-(100000*" & fieldName & ")*Time())" 

    Debug.Print sqlQuery 
    CurrentDb.Execute sqlQuery 

このようなことが、バックエンドに残されたままになり、ビジュアルアナリティクスをTableauに残すことが最善であると判断しました。

2

抽出を行うと、レコードをフィルタリングし、表示可能なディメンションまでロールアップを指定できるダイアログパネルがあります。少なくともいくつかのデータ・ソースの場合

は、あなたはまた、その後またはランダム割合(たとえば、レコードの10%)

あなたがすることができます(たとえば最初の2000件のレコードをつかむ)レコード数の上限を指定することができます小さなエキスを使って作業をすばやく行い、準備ができたらすべてのデータを使ってエキスやリフレッシュを削除します。私はすべてのデータソースがランダムな選択をサポートしているとは思わない。

+0

ありがとう、私は "トップ" 20%を選択することができますが、ランダム20%のオプションが表示されていません。このようなことが可能かどうか知っていますか? – Paradox

+0

あなたはどのデータベースを使用していますか? –

+0

私はMS Access 2010を使用しています – Paradox

2

Tableauには乱数関数がありますが、これは非表示であり、使用可能な関数のリストには表示されません。

"random()"です。 0から1の間で一様に分布する数を生成します。

これは文書化されていませんが動作します。例えば、参照してください、この前の回答:how to generate pseudo random numbers and row-count in Tableau

+0

問題は、これを使用してTableauのレコードのランダム20%を選択する方法がわかりません。 – Paradox

+0

random()が文書化されていない理由の1つは、一部のデータソースでのみ利用可能であるということです。 –

関連する問題