"Formula事实变量及过滤器是XBRL(eXtensible Business Reporting Language,可扩展商业报告语言)公式规范的一部分,用于处理和验证XBRL实例文档中的财务和其他数据。该主题主要介绍如何利用事实变量(FactVariable)以及过滤器来提取和验证数据的正确性。"
Formula规范中的事实变量(FactVariable)是用于存储和引用XBRL实例文档中特定事实数据的逻辑单元。事实变量可以代表任何报告中的数值,如资产、负债或利润等。它们通常与特定的上下文(Context)和单位(Unit)关联,以便正确地解释和比较这些数值。
在实例文档中,事实数据包含以下关键元素:
1. **事实值**(Fact Value):实际的数字或字符串值,例如公司的总收入或总负债。
2. **上下文引用**(Context Reference):定义了数值的时间范围、实体、维度等信息,确保数据的语境正确。
3. **单位引用**(Unit Reference):指定数值的计量单位,如美元、欧元等,使得不同货币间的数值可以比较。
提取Fact数据的过程涉及使用XPath(XML Path Language)等查询语言,通过指定的上下文和单位筛选出所需的事实。例如,可以使用XPath表达式`$总资产=$xbrli:xbrl/总资产[@contextRef="本期期末数"]`来获取名为"总资产"的事实数据,其中`@contextRef="本期期末数"`确保我们获取的是指定时间段的数据。
过滤器(Filter)则允许我们对事实数据进行进一步的限定和筛选,例如,只选择特定条件下的事实,如只考虑正数或者满足特定条件的数值。这在验证数据的勾稽关系时尤其有用,比如检查资产负债率是否等于负债合计除以总资产。
定制验证系统,如基于XPath的方法,虽然直观且技术门槛较低,但存在缺乏通用性的问题,因为每个验证表达式可能需要针对不同的上下文名称和时间点单独编写。而Formula规范提供了更标准化和灵活的方式来处理这些问题,它不仅定义了如何从实例文档中提取和验证Fact数据,还考虑了如验证条件、数据缺失处理和不同单位的兼容性等实际应用中的复杂情况。
Formula规范还讨论了如何有效地存储和管理Fact数据,包括将整个实例文档拆分成业务相关的表格,以及设计统一的表结构以保存所有Fact数据。这种结构化存储方式有利于数据分析和验证。
总结来说,Formula事实变量和过滤器是XBRL公式体系的重要组成部分,它们帮助用户从XBRL实例文档中高效、准确地提取和验证财务信息,实现了财务报告的标准化和自动化处理。深入理解并掌握Formula规范,对于开发和应用XBRL系统的专业人员至关重要。