おそらくすでに回答されている質問をして申し訳ありませんが、データベースから必要なものを正しく取得する方法を理解するのに本当に苦労しています。使用可能な WBS コードを取得しようとしている primavera P6 データベースがあります。ただし、これをレポート ダッシュボードに組み込むため、親子の値を連結する以上のことを行う必要があります。私の質問は 2 つの部分に分けられますが、ここで私の質問を理解するために、データベースの基本モデルを説明します。
wbs_id wbs_short_name parent_wbs_id
1 CONTR null
2 RET null
3 PRC 1
4 FEE 1
5 PRC 2
6 FEE 2
7 100 3
8 110 4
9 200 5
10 210 6
私の最初の質問は、wbs_short_name のそれぞれ異なる「レベル」を別々のレベルの列に与えるクエリをどのように書くことができるかということです。最終結果は次のようになります。
Level_1 Level_2 Level_3 Level_4
CONTR PRC 100 null
CONTR FEE 110 null
RET PRC 200 null
RET FEE 210 null
level_4 を追加したのは、実際のデータベースではレベルが約 7 レベルまで拡張されているためですが、この例は複雑になりすぎます。私の 2 番目の質問は (私が予想する) はるかに単純です。これらのレベルをすべて連結して 1 つの WBS コードに結合する追加の終了列を追加することは可能ですか? それは次のようになります。
Level_1 Level_2 Level_3 WBS
CONTR PRC 100 CONTRPRC100
CONTR FEE 110 CONTRPRC110
RET PRC 200 RETPRC200
RET FEE 210 RETPRC210
ダッシュボードにスライサー コントロール用のレベル列が必要です。また、P6 データベースをこれらの WBS コードを使用する他のデータ ソースに結合できるリンク テーブルを構築できる WBS が必要です。与えられたすべての助けに感謝します。