0
私たちは健康保険プランであり、プロバイダーから請求されたすべてのクレームラインの詳細をすべて記録するデータベースがあります。私は、2つの特定の手続きコードで請求されたクレームIDを特定したいと思います。ここではダミーのデータセットです。この偽の例では値が別のフィールドの他の値に含まれている場合にフィールド値を保持する
val df = Seq(
("153T32", "D0201"),
("153T32", "D3303"),
("153T32", "F2303"),
("421F32", "D0200"),
("421F32", "D1111"),
("421F32", "D0201"),
("991E32", "D0201"),
("991E32", "F2303"),
("991E32", "A1123"),
("529E52", "G1029"),
("529E52", "B0392")).
toDF("claim_id", "code")
、私はcode === "D0201"
とcode === "F2303"
の両方に関連付けられているclaim_id
値を識別します。私はこれをどのようにして2つの新しいDataFramesを作成し、それぞれがcode
の値の1つでフィルタリングされ、それらを一緒に結合するかを考え出しました。しかし、中間のDataFramesを作成せずにこれを行う方法があれば、皆さんがどのようにそれをやるのかを見たいと思います。ここで
が私の現在のソリューションです:
val df1 = df.where($"code" === "D0201")
val df2 = df.where($"code" === "F2303")
val joinExpr = df1.col("claim_id") === df2.col("claim_id")
val finalDF = df1.join(df2, joinExpr, "inner").select(df1.col("claim_id"))
finalDF.show()
+--------+
|claim_id|
+--------+
| 153T32|
| 991E32|
+--------+