2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Tableau】カスタムSQLでの同一項目名のエラーについて

Posted at

【Tableauデータソース上のカスタムSQLで同一名称の項目があるとエラーになる件】

用意したテーブルは下記の3つ

・メインとなるデータ
image.png

・権限マスタ
image.png

・ユーザー権限マスタ
image.png

●事象
tableau server上でデータソースの新規作成時に下記のSQL文をカスタムSQLに入力したところエラーとなった。
SQL文:
select * FROM TABLE_A
INNER JOIN W_KENGEN
ON TABLE_A ."会社コード" = W_KENGEN."KAISHA_CD"
INNER JOIN W_KENGEN_USER2
ON W_KENGEN."GROUP_ID" AS K = W_KENGEN_USER2."GROUP_ID" AS U
WHERE W_KENGEN_USER2."USER_ID" = 'userA'

エラー文:TableauException: Oracle データベース エラー 904: ORA-00904: "W_KENGEN_USER2"."GROUP_ID": 無効な識別子です。

●解決策
・カスタムSQLの抽出項目で同一名称の項目があると、Tableauの項目名が同一項目で被ってしまってエラーとなる。
・SELECT句を「*」ではなく、必要な項目のみ抽出して、複数テーブルで同一名称の項目がある場合は別名をつける。

select 売上金額,w.group_id2 AS wgrp_id, u.group_id2 AS ugrp_id FROM TABLE_A
INNER JOIN W_KENGEN w
ON TABLE_A."会社コード" = w."KAISHA_CD"
INNER JOIN W_KENGEN_USER2 u
ON w."GROUP_ID2" = u."GROUP_ID2"
WHERE u."USER_ID" = 'userA'

最後まで読んでいただきありがとうございました!
いいね!お願いいたします!

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?