0

以下の SQL コードに示すように、機能を取得しようとしています。

select ....... , A.authorizedAction
, '1 - Add' = Case when (Cast((authorizedAction / 1) As Int) % 2) = 1 then 'Y' end
, '2 - Update/Display' = case when (Cast((authorizedAction / 2) As Int) % 2) = 1 then 'Y' end
, '4 - Update/Display all' = case when (Cast((authorizedAction / 4) As Int) % 2) = 1 then 'Y' end 
, '8 - Correction' = case when (Cast((authorizedAction / 8) As Int) % 2) = 1 then 'Y' end 
, A.authorizationActionKey   .... from ....

タブローのワークシートの列値として、4 つのケース (追加、更新/表示、更新/すべて表示、修正) をすべて表現したいと考えています。

「case」ステートメントはタブローで有効な関数であることがわかりましたが、この種の機能を取得できるかどうかはわかりません。基本的に、「authorizedAction」のみが与えられ、上記の 4 つのケースに対して 1 つの計算フィールドを作成する必要があります。これらの case ステートメントを 1 つの計算フィールド式にまとめることはできますか?

どんな助けでも大歓迎です。機能する計算フィールドの式を教えていただければ、そのようなものはありません!

4

1 に答える 1

1

上記の SQL ステートメントでは、4 つの出力フィールドに分割される 1 つの入力フィールドがあり、それぞれが「Y」または空白の可能性があります。次の行に沿って、Tableau で 4 つの計算フィールドの同様のセットを作成できます。それぞれに式があります。

(field name)        (formula)
Add:                if ([authorizedAction] % 2) = 1 then 'Y' else '' end
Update/Display:     if (([authorizedAction] / 2) % 2) = 1 then 'Y' else '' end
Update/Display all: if (([authorizedAction] / 4) % 2) = 1 then 'Y' else '' end
Correction:         if (([authorizedAction] / 8) % 2) = 1 then 'Y' else '' end
于 2013-10-28T15:06:15.713 に答える