我在SSRS中运行使用2个公用表表达式的查询。查询设计器中的查询运行正常,但是当我按下确定并且数据集形成时;数据集中的字段是cte中select *语句中的列。如何让我在cte中创建的列显示在ssrs中我的数据集的字段中?任何帮助深表感谢。
IF @FilterByEventCode IS NULL
BEGIN
SELECT *
FROM
dbo.Historywithqualityfilter(@FQN, '.Event Code,.Event Description',
Dateadd(mi, -10, @DateStart), @DateStop, 'good', 'KLN-FTVP')
END
ELSE
BEGIN
WITH t1(timestamp, eventcode)
AS (SELECT localtimestamp,
valueasstring
FROM dbo.Historywithqualityfilter (@FQN, '.Event Code',
Dateadd(mi, -10, @DateStart),
@DateStop, 'good', 'KLN-FTVP')
WHERE @FilterByEventCode = valueasstring),
t2(timestamp, eventdescription)
AS (SELECT localtimestamp,
valueasstring
FROM dbo.Historywithqualityfilter (@FQN, '.Event Description',
Dateadd(mi, -10, @DateStart), @DateStop, 'good',
'KLN-FTVP')
)
SELECT *
FROM t1 a
INNER JOIN t2 b
ON a.timestamp = b.timestamp
END
答案 0 :(得分:1)
我注意到SSRS在查询构建器中以这种方式获取所有字段时出现问题,并且您设置了所有参数,以便在单击&#时显示最大字段数34;刷新字段"它仍然会按照自己的意愿行事。
对我来说,你只有两个解决方案,第一个是编辑你的查询,以便最大的字段不会影响你输入的参数,推送刷新字段,然后将查询更改回原来的状态(但是要求得很好不要再次刷新字段,因此取消报表生成器的任何请求以执行此类操作。)
第二种是手动创建缺失的字段。