我的任务是在DEA和NPI号码上进行SQL合并以返回可用值,不存在DEA和NPI值都可用于Dr.的情况这是我目前在我使用的脚本:
coalesce(nullif(convert(varchar,NationalProviderIdentifier),'0'), DEANumber) as 'DrID'
可以将未知值定义为具有以下值: "未知" 0 0000000000 "空白"
我需要在Dr. id值上悬停,该值可以说是" DEA Number"或者" NPI号码"取决于显示的内容。我已经为ToolTip表达式编写了以下VB代码,它工作正常:
=IIF(Fields!DrID.Value = "Unknown" or Fields!DrID.Value = "" or Fields!DrID.Value = "0000000000", "DEA/NPI Unavailable",
IIF(Len(Fields!DrID.Value) > 9, "NPI", "DEA"))
有些情况下,DEA和NPI编号都是未知的,这就是我在VB的第一个IIF部分中检查的内容。第二个IFF声明是确定返回的值是NPI(10位长)还是DEA(9位长)数。
我被建议使用SQL函数使我的VB不那么复杂。我没有编写很多函数,我不知道如何继续。我假设我不会在Visual Studio中引用该函数,而是在主数据集中的某处检索DrID数据字段?
答案 0 :(得分:2)
那么简单的方法是在SQL查询中添加一个额外的列,就像这样(假设NationalProviderIdentifier是一个INT而且都不允许NULL):
CASE WHEN NationalProviderIdentifier <> 0 THEN 'NPI'
WHEN DEANumber IN('Unknown','','0000000000') THEN 'N/A'
ELSE 'DEA' END as 'DrIdSrc'