Oracle11g 如何用所有行的匹配P_ID替换空值?
我拥有的数据集有一个问题,如果我选择一个患者的数据,与其p_ID相关,我会得到他服用了多少药物、进行了多少测试以及患有什么疾病的所有细节。但提供的一个部分的详细信息使另一个部分为空。因此,每当我试图计算与患者id和疾病id相关的药物服用量时,它会给我1。以下是样本数据:Oracle11g 如何用所有行的匹配P_ID替换空值?,oracle11g,tableau-api,informatica,Oracle11g,Tableau Api,Informatica,我拥有的数据集有一个问题,如果我选择一个患者的数据,与其p_ID相关,我会得到他服用了多少药物、进行了多少测试以及患有什么疾病的所有细节。但提供的一个部分的详细信息使另一个部分为空。因此,每当我试图计算与患者id和疾病id相关的药物服用量时,它会给我1。以下是样本数据: p_id ds_id sympton ds_from_date ds_to_date dr_id dosage dr_from_date dr_to_date tt_id result tt
p_id ds_id sympton ds_from_date ds_to_date dr_id dosage dr_from_date dr_to_date tt_id result tt_date s_id
00047880 0002 Sympton of ALL 1999-1-23 2003-12-31 00096360 7 1999-1-23 2000-1-23 null null null null
00047880 null null null null 00024244 7 2000-1-23 2001-1-23 null null null null
00047880 null null null null 00054795 3 2001-1-23 2002-1-23 null null null null
00047880 null null null null 00063682 4 2002-1-23 2003-1-23 null null null null
00047880 null null null null null null null null 00796 Result of test 1999-1-23 null
00047880 null null null null null null null null 00924 Result of test 2000-1-23 null
00047880 null null null null null null null null 00781 Result of test 2001-1-23 null
00047880 null null null null null null null null 00314 Result of test 2002-1-23 null
00047880 null null null null null null null null null null null 0000973218
00013243 0005 Sympton of Breast tumor 1998-5-20 2003-12-31 00033524 3 1998-5-20 1999-5-20 null null null null
00013243 null null null null 00061642 7 1999-5-20 2000-5-20 null null null null
00013243 null null null null 00079097 5 2000-5-20 2001-5-20 null null null null
00013243 null null null null 00057488 7 2001-5-20 2002-5-20 null null null null
00013243 null null null null 00076684 8 2002-5-20 2003-5-20 null null null null
00013243 null null null null null null null null 00111 Result of test 1998-5-20 null
00013243 null null null null null null null null 00583 Result of test 1999-5-20 null
00013243 null null null null null null null null 00781 Result of test 2000-5-20 null
00013243 null null null null null null null null 00583 Result of test 2001-5-20 null
00013243 null null null null null null null null 00164 Result of test 2002-5-20 null
00013243 null null null null null null null null null null null 0000940071
我希望所有空值都用准确的数据填充。比如:
00047880 0002 Sympton of ALL 1999-1-23 2003-12-31 00096360 7 1999-1-23 2000-1-23 00796 Result of test 1999-1-23 0000973218
00047880 0002 Sympton of ALL 1999-1-23 2003-12-31 00024244 7 2000-1-23 2001-1-23 00924 Result of test 2000-1-23 0000973218
00047880 0002 Sympton of ALL 1999-1-23 2003-12-31 00054795 3 2001-1-23 2002-1-23 00781 Result of test 2001-1-23 0000973218
00047880 0002 Sympton of ALL 1999-1-23 2003-12-31 00063682 4 2002-1-23 2003-1-23 00314 Result of test 2002-1-23 0000973218
即使行数没有减少,但我希望这些数据以某种方式被填满。这真的让我心烦意乱,我尝试了很多方法,但都没有效果。因此,如果我在表中对其进行可视化,它显示患有特定疾病的人只服用了一种药物,其余的发送到空值 在R中,你可以这样做
dfblank
->ctrl+V即粘贴,即可完成
注:Tableau并非用于数据争用,我相信它也可以通过其他方法完成@KoushikRoy是的,长官,我认为这是一个复杂的要求。对于某些列,您有1个非空值,对于某些4个非空值,是否有任何模式或可能有任意数量的值,它们也可以重复?如果一列中有2个非空值,另一列中有4个非空值,那么应该如何显示数据。我认为它应该工作。但您仍然需要单独查找:)在表中进行数据争用是一件困难的事情。然而,它可以很容易地在R中完成。我可以给你一个解决方案,如果你想的话?我可以把它标记为答案吗?你的数据来源是什么?
df <- read.table(text = "Col1 Col2 Col3 Col4 Col5 Col6 Col7 Col8 Col9 Col10
aa bb cc dd ee ff gg hh ii jj
aa null null null null null null null null null
aa null kk ll null null null null null oo
null null null null null null null null null mm", header = T)
#1
df[df == 'null'] <- NA
#2
tidyr::fill(df, everything(), .direction = "down")
Col1 Col2 Col3 Col4 Col5 Col6 Col7 Col8 Col9 Col10
1 aa bb cc dd ee ff gg hh ii jj
2 aa bb cc dd ee ff gg hh ii jj
3 aa bb kk ll ee ff gg hh ii oo
4 aa bb kk ll ee ff gg hh ii mm