SSRS 中的多视图加入
Multiple view join in SSRS
我有一个从存储过程中提取的 SSRS 报告。没什么问题,它在 Visual Studio(右键单击数据集,select 查询)和在 SSMS 中执行时工作得很好:
SELECT
asset as add_asset
,[desc] as add_desc
,start_dt as add_start_dt
,est_life as add_est_life
,acq_cost as add_acq_cost
,acc_depr as add_acc_depr
,lst_depr_yr as add_lst_depr_yr
,new_bk_val as add_new_bk_val
,[function_code] as add_function
,function_rollup as add_function_rollup
,fama_status as add_fama_status
,fama_fisc_yr as add_fama_fisc_yr
,fama_fst_yr as add_fama_fst_yr
,disp_fy as add_disp_fy
,spma_old as prev_book
--,fahs_amt
FROM
vw_Fixed_Asset_Audit_Sheet AS faas
INNER JOIN mu_live.dbo.spmaudit
ON spma_key = faas.asset
--INNER JOIN mu_live.dbo.fa_history
--ON a_asset_number = faas.asset
WHERE (
(fama_status LIKE @acctstatus)
AND (function_rollup BETWEEN @frstart AND @frend)
)
AND (
fama_fst_yr = @year
)
AND (
spma_field = 'fama_cur_val'
AND spma_action = 'P'
AND YEAR(spma_date) = @year
)
/*AND (
fahs_reason = 'DE'
AND fahd_dr_cr = 'D'
AND YEAR(fahs_eff_date) = @year
)*/
ORDER BY asset ASC
注意注释代码,这是从另一个 table 中提取相关字段的部分。当我取消注释该代码时,它会在 SSMS 中正确提取字段和数据。但是在 Visual Studio 中,我没有得到任何数据。没有错误,它甚至用新字段 (fahs_amt) 更新了 "Report Data" 窗格中数据集中的字段列表,但没有记录。我完全不知道为什么这个查询会像这样失败而没有错误。有人见过这种行为吗?
想通了。看起来 SSRS 在加入时不喜欢视图。我直接在 fa_history 视图中加入了基础 table 并且它工作得很好。
我有一个从存储过程中提取的 SSRS 报告。没什么问题,它在 Visual Studio(右键单击数据集,select 查询)和在 SSMS 中执行时工作得很好:
SELECT
asset as add_asset
,[desc] as add_desc
,start_dt as add_start_dt
,est_life as add_est_life
,acq_cost as add_acq_cost
,acc_depr as add_acc_depr
,lst_depr_yr as add_lst_depr_yr
,new_bk_val as add_new_bk_val
,[function_code] as add_function
,function_rollup as add_function_rollup
,fama_status as add_fama_status
,fama_fisc_yr as add_fama_fisc_yr
,fama_fst_yr as add_fama_fst_yr
,disp_fy as add_disp_fy
,spma_old as prev_book
--,fahs_amt
FROM
vw_Fixed_Asset_Audit_Sheet AS faas
INNER JOIN mu_live.dbo.spmaudit
ON spma_key = faas.asset
--INNER JOIN mu_live.dbo.fa_history
--ON a_asset_number = faas.asset
WHERE (
(fama_status LIKE @acctstatus)
AND (function_rollup BETWEEN @frstart AND @frend)
)
AND (
fama_fst_yr = @year
)
AND (
spma_field = 'fama_cur_val'
AND spma_action = 'P'
AND YEAR(spma_date) = @year
)
/*AND (
fahs_reason = 'DE'
AND fahd_dr_cr = 'D'
AND YEAR(fahs_eff_date) = @year
)*/
ORDER BY asset ASC
注意注释代码,这是从另一个 table 中提取相关字段的部分。当我取消注释该代码时,它会在 SSMS 中正确提取字段和数据。但是在 Visual Studio 中,我没有得到任何数据。没有错误,它甚至用新字段 (fahs_amt) 更新了 "Report Data" 窗格中数据集中的字段列表,但没有记录。我完全不知道为什么这个查询会像这样失败而没有错误。有人见过这种行为吗?
想通了。看起来 SSRS 在加入时不喜欢视图。我直接在 fa_history 视图中加入了基础 table 并且它工作得很好。