あなたのデータがどのように見えるのかわからないと、何が起こっているのかを言うのは難しいです。計算は有効です。この種の問題をデバッグする際に大いに役立つことができ
ことの一つは、あなたがコンソールでそれを調べることができるようにそれを返す前に、データを印刷することです。
SCRIPT_REAL(
"import numpy as np
values = (2*np.array(_arg1)).tolist()
print values
return values"
,
SUM([Value])
)
その後、TabPyを見て見ることができます。
INFO:__main__:{"INFO": "Initializing TabPy..."}
INFO:__main__:{"INFO": "Done initializing TabPy."}
INFO:__main__:{"INFO": "Web service listening on port 9004"}
INFO:__main__:{"INFO": "function to evaluate=def _user_script(tabpy, _arg1):\n import numpy as np\n values = (2*np.array(_arg1)).tolist()\n print values\n return values\n"}
[14, 20, 32, 44, 58, 52, 40, 66]
INFO:tornado.access:200 POST /evaluate (172.17.0.1) 53.75ms
だから計算が値を計算します:[14, 20, 32, 44, 58, 52, 40, 66]
アレックス・ブレイクモアは、これらの計算は、「表計算」しているとなり、前述のようにデフォルトで "テーブル"で計算されます。つまり、Tableauはビューのすべての値をTabPyに一度に渡します。基本的に、配列を渡し、配列を返します(上記の例のように)。 「計算する」設定を変更すると、データの分数、または各行を個別に渡すことができますが、一般に「テーブル」はすべてのデータをTabPyに一度に渡してからTabPyがすべての結果をアレイ。
=========================================
更新:「表計算」は、「ビュー」内のデータに対して実行されます。これは、可視化する対象を知る方法がないため、基礎となるデータで事前に計算することはできません。
基本的には、「表計算」はオンデマンドで実行され、短命である:あなたがデータ準備ペインで見てみる場合は、このことについてのメッセージが表示されます。値を保持したい場合は、標準計算を実行するか、データソースの値を事前計算することをお勧めします。 TabPyはこれらの一時的なタイプの計算に依存するため、データを探索するのには適していますが、データを保存するのには適していません。
出典
2017-04-14 15:10:35
emh
Script_Realはテーブル計算です。テーブル計算、特にパーティショニングとアドレッシングについてのマニュアルを読む –
@AlexBlakemoreありがとうございます。パーティショニングとアドレッシングを正しく使用すると、データソースタブで作業することができますか? – Bey
することができます。テーブルの計算はちょっと難しいかもしれません。正しい数式を得るだけでなく、もっと多くのノブがあります。これらの中で最も重要なのは、パーティショニングとアドレッシングの仕組みの理解です。それらのコンセプトに慣れればOKです。おかげさまで –