scala - 需要帮助在 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 级,然后定义品牌并基于此计算其他列。
请帮我实现这个逻辑