【发布时间】:2026-02-17 07:45:02
【问题描述】:
我很难理解这个旨在计算 ASCVD 风险的继承公式中的逻辑。数据在 PowerBI 中处理之前在 SQL 数据库中进行处理(使用模糊逻辑匹配记录),所以如果有一个首选的地方来处理它,我可以选择其中任何一个。
=IF(
OR(
(AGE)<40,
(AGE)>79,
(TCRow)<130,
(TCRow)>320,
(HDLRow)<20,
(HDLRow)>100,
(BPSystolicRow)<90,
(BPSystolicRow)>200,
AND((DiabetesRow)="",
(DiabetesRowNo)=""),
AND((ONBPMEDICATIONROW)="",
(OFFBPMEDICATIONROW)=""),
AND((SmokerRow)="",
(SmokingRowNo)="")), "",
IFERROR(IF((GenderFemaleRow)=1, 1-0.9665^(EXP
(((SUM(LN((AGE))*-29.799,
LN((AGE))^2*4.884,
LN((TCRow))*13.54,
LN((AGE))*LN((TCRow))*-3.114,
LN((HDLRow))*-13.578,
LN(D3)*LN((HDLRow))*3.149,
IF((ONBPMEDICATIONROW)=1,
ROUND(LN((BPSystolicRow))*2.019, 2),
LN((BPSystolicRow))*1.957),
IF((SmokerRow)=1, 7.574, 0),
ROUND(LN((AGE))*IF((SmokerRow)=1, -1.665, 0), 3),
IF((DiabetesRow)=1, 0.661, 0)))-(-29.18)))), 1-0.9144^(EXP((SUM(LN((AGE))*12.344,
LN((TCRow))*11.853,
LN((AGE))*LN((TCRow))*-2.664,
LN((HDLRow))*-7.99,
LN((AGE))*LN((HDLRow))*1.769,
IF((ONBPMEDICATIONROW)=1,
LN((BPSystolicRow))*1.797,
LN((BPSystolicRow))*1.764),
IF((SmokerRow)=1, 7.837, 0),
IF((SmokerRow)=1,
LN((AGE))*-1.795, 0),
IF((DiabetesRow)=1, 0.658, 0))-(61.18))))), ""))
【问题讨论】:
-
哇。关于这应该做什么的任何文件?如果没有对预期行为的规范,我将非常不愿意简单地依赖它并尝试将其转换为其他东西。
-
@dan1111 尤其是因为它看起来被用来给患者开糖尿病药物……在没有明确的要求或逻辑的情况下将其转换为另一种语言真的很冒险。
-
不被用来开任何处方……它被用来计算聚合人口分析的风险。不幸的是,我没有任何关于用于创建此公式的过程的文档,也无法在互联网上找到任何关于 ASCVD 风险的公式指南。
-
如果有人在没有文档的情况下写了这么一大堆乱七八糟的东西,那么规则 #1 不要假设它没有错误。
标签: sql excel ms-access excel-formula dax