根据字符串值过滤列

时间:2019-03-28 17:25:26

标签: reporting-services sql-server-2008-r2

我正在提取参数数据集,以行列出。这些参数通过源序列关联。给定序列中的行之一具有字符串值,仅针对单个行列出。我正在尝试过滤此结果,并根据顺序列出每一行的字符串值,而不是只显示一行,而将剩余角色列为null。可以在SSRS报告端完成此操作吗?

示例:批处理字符串嵌入在此串联中。我也不想过滤掉直径和硬度,所以我不必只批量过滤。

PAT_ID     ME      STRING_VALUE      NUM_Value  Source_CD_Sequence
Diameter   CDC     Null               9.83            0
Hardness   CDC     Null               17.3            0
ID_Tablet  CDC    20190117-7h40m/1/1  Null            0

SELECT
  PVXMEDE.PAT_ID,
  PVXMEDE.ME,
  PVXMEDE.STRING_VALUE,
  PVXMEDE.NUM_VALUE,
  PVXMEDE.SOURCE_CD_SEQUENCE,
  PVXMEDE.SOURCE_EXECUTION_ID
FROM
  PVXMEDE
   FULL OUTER JOIN PVXMIDE ON (PVXMEDE.SOURCE_EXECUTION_ID=PVXMIDE.SOURCE_EXECUTION_ID AND PVXMEDE.SOURCE_CD_SEQUENCE=PVXMIDE.SOURCE_CD_SEQUENCE AND PVXMEDE.STRING_VALUE=PVXMIDE.STRING_VALUE AND PVXMEDE.DATE_LOCAL=PVXMIDE.DATE_LOCAL)
   RIGHT JOIN PVXME ON (PVXME.ME=PVXMEDE.ME)
   AND PVXMEDE.PAT_ID IN ('THICKNESS', 'WEIGHT', 'DIAMETER', 'HARDNESS', 'ID_TABLET')
Where
PVXME.CX_STRING_4 = '20190117-7h40m'

预期过滤:

PAT_ID     ME      STRING_VALUE      NUM_Value  Source_CD_Sequence
Diameter   CDC    20190117-7h40m/1/1  9.83            0
Hardness   CDC    20190117-7h40m/1/1  17.3            0
ID_Tablet  CDC    20190117-7h40m/1/1  Null            0

1 个答案:

答案 0 :(得分:0)

使用CTE表可以轻松完成此操作-这只是其中一种方法。

您可以做的是在cte或临时表中选择不同的序列和字符串值,其中字符串值不为null。然后,当您拥有最终数据集时,将数据集重新连接到temp表或cte上。序列号..并用字符串值填充空值。有道理吗?

类似的东西

browserify