首页 > 解决方案 > 需要帮助在 Databricks 中实现分层查询的逻辑

问题描述

有5个级别

1.MasterBrand(最高级别)
2.Brand 3.DoseForm 4.DoseStrength 5.Drug,MSA,Device(最低级别)

 parent               parent           parent         parent

Drug-------->DoseStrength--------->DoseForm-------->Brand---------->MasterBrand在此处输入图像描述

下面是需求

表中有 TherapyId & TherapyType,我们必须实现其他列的逻辑

前任。对于药物,TherapyParentid 是 DoseStrength id 对于 DoseStrength,TherapyParentid 是 DoseForm id 对于 DoseForm,TherapyParentid 是 Brand id 对于品牌,TherapyParentid 是 MasterBrand 对于 MasterBrand,因为没有父代,所以它的 parentId 为空

对于 DoseStrength 列,对于 TherapyType Drug,DoseStrength 为 2(作为其父级)对于 DoseStrength ,它将为空,因为它没有父级。对于 DoseForm,它将为空,因为 DoseStrength 是 Dosestrength For Brand 的子级,它将为空,因为 DoseStrength 是 Brand 的子级 对于 MasterBrand,它将为空,因为 DoseStrength 是 MasterBrand 的子级

其他列也类似....

6 到 8 是另一组,其中设备是最低级别,然后跳过 2 级,然后定义品牌并基于此计算其他列。

在此处输入图像描述

请帮我实现这个逻辑

标签: scalaapache-sparkdatabricks

解决方案


推荐阅读