这是我正在使用的表的一个简短示例:
Month ............ SiteID ........ Patients ....FundingSource.... Year
January ............ 1 ........... 13 .......... ABCD.......... 2019
February............ 1 ........... 223 ......... ABCD.......... 2019
February ........... 2 ........... 52 .......... ABCD.......... 2019
February ........... 3 ........... 21........... EFGH.......... 2018
March .............. 1 ........... 44 .......... EFGH.......... 2018
April .............. 1 ........... 12 .......... ABCD.......... 2019
May................. 1 ........... 34 .......... ABCD.......... 2018
May................. 1 ........... 51 .......... ABCD.......... 2019
June ............... 1 ............62 .......... EFGH.......... 2017
我正在尝试输出一份报告,显示每月、每季度和年初至今针对给定参数看到的患者总数。参数是 FundingSource、SiteID、Month、Year。因为报告应该看起来像一个表格,所以它必须将结果打印一次/在一页上。
编辑:季度总数应该是从 7 月到 6 月的财政季度。Year 列是日历年。
患者字段本身是一个字符串字段,表示当月看到的患者数量。因此,创建每月总计很容易,因为只需添加字段即可。
对于季度总计,我创建了一个 Cdbl 公式字段来将 table.Patients 转换为一个数字(它是我们数据库中的一个 nvarchar 字段——不能在运行总计字段中求和),然后为该字段的每个季度(通过使该 cdbl 字段评估 Month IN [January, February, March, April] 等,并在 SiteID 更改时重置)。然后我制作了另一个公式字段,该字段将输出该季度的相应运行总计字段,无论哪个月份
前任。
IF month IN [January, February, March, April] then
{#PatientsSeenQ1}
我遇到的问题是,给定这些参数字段,Quarterly 结果最终与 Monthly 结果相同,因为 Month = ?Month 并且无法缩小以捕获该季度的其他月份。我认为获得 YTD 总数也是同样的问题。
我一直在努力解决这个问题一段时间,所以任何帮助将不胜感激!这对我的工作来说是一个重要的问题,所以我一定会及时回复。
编辑:
我被要求像这样格式化输出(例如,假设日历年季度):
Reporting Period: May 2019
Funding Source: ABCD
Site: 1
........................... Monthly ... Quarterly ..... YTD
Number of patients seen:..... 51 ........ 63........... 299
我不必为每个站点、年份和月份报告,只需为输入的站点、年份、资金来源和月份(参数)报告。输出应该是用户将在网站上查看的报告的可打印版本。
编辑:
通过用户 heringer 的以下内容,我能够找到解决问题的方法。对于年初至今我有外部帮助,所以这是答案:
我制作了一个公式字段@FiscalYear 来确定年份:
IF {@RowMonthCDate} IN [7,8,9,10,11,12] and {@ParMonthCDate} IN [1,2,3,4,5,6] THEN toText((ToNumber({?Year})-1),"#")
ELSE IF {@RowMonthCDate} IN [1,2,3,4,5,6] and {@ParMonthCDate} IN [7,8,9,10,11,12] THEN toText((ToNumber({?Year})+1),"#")
ELSE toText((ToNumber({?Year})),"#")
然后对于 YTD Running 总计字段,我将其用于 Evaluate 公式:
{reporting_year} = {@FiscalYear} AND
(
if {@ParMonthCDate} = 7 then {@RowMonthCDate} = 7
else if {@ParMonthCDate} = 8 then {@RowMonthCDate} in [7,8]
else if {@ParMonthCDate} = 9 then {@RowMonthCDate} in [7,8,9]
else if {@ParMonthCDate} = 10 then {@RowMonthCDate} in [7,8,9,10]
else if {@ParMonthCDate} = 11 then {@RowMonthCDate} in [7,8,9,10,11]
else if {@ParMonthCDate} = 12 then {@RowMonthCDate} in [7,8,9,10,11,12]
else if {@ParMonthCDate} = 1 then {@RowMonthCDate} in [7,8,9,10,11,12,1]
else if {@ParMonthCDate} = 2 then {@RowMonthCDate} in [7,8,9,10,11,12,1,2]
else if {@ParMonthCDate} = 3 then {@RowMonthCDate} in [7,8,9,10,11,12,1,2,3]
else if {@ParMonthCDate} = 4 then {@RowMonthCDate} in [7,8,9,10,11,12,1,2,3,4]
else if {@ParMonthCDate} = 5 then {@RowMonthCDate} in [7,8,9,10,11,12,1,2,3,4,5]
else if {@ParMonthCDate} = 6 then {@RowMonthCDate} in [7,8,9,10,11,12,1,2,3,4,5,6]
)
AND
{report.fundingsource} = {?FundingSource} AND
{report.Site_id} = {?Site_ID}
也许不优雅,但它为我提供了该财政年度参数月份的字段总数。再次感谢 heringer 在这方面与我一起工作了大约一周!