是否有Excel替代预算和商业智能

图片

近年来,经济计划和分析这一主题变得越来越重要。 但是与此同时,在最初假定它们存在的昂贵且大规模的ERP系统中,这些功能的实现效率低下变得更加明显(此类系统的缩写字母P“ Planning”甚至表明了这一点)。 尽管为引入ERP系统付出了巨大的预算和巨大的努力,但中型和大型企业的经济部门仍在电子表格(主要是MS Excel)中工作并继续工作。


发生这种情况的原因是什么? 这真的是关于经济学家的惯性吗? 还是Microsoft能够根据其在真实商业环境中的应用的便利性和有效性来创建真正独特的产品? 好吧,文章标题最后的胆怯问题-Excel可以替代吗?


要回答这些问题,您首先需要弄清楚经济计划和分析的具体内容,以及Monopoly保持的卓越水平。 简而言之,这个问题的答案是一个词-时间。 这是任何级别的公司负责人都需要做出管理决策的时间,根据问题的严重程度,决策需要花费几分钟到几天的时间。


证明本论文的最简单方法是下一个财政年度的年度计划(预算)的制定和批准过程的示例。 此过程在任何现代公司中都已实施,并且无意于猜测其未来(普遍的误解),而是控制高层管理人员在部门和职能部门之间分配有限资源(投资,人员配备,信用额度等)的过程中下一财政年度预算内的公司。


与常规程序(例如税收,薪资,财务和统计报告)不同,预算制定过程每年执行一次,并且严格地受时间限制。 预算流程的开始通常在10月开始,那时已经获得了有关当年9个月实际工作成果的信息(至少是初步信息)。 任何预算表的典型图表通常都包含有关当年的预期结果(根据计划,事实为9个月+预期的四个季度),下一年的计划结果以及控制指标变化动态的偏差(绝对和相对)的信息。 在10月至11月期间,公司部门会制定自己的预算,然后在12月由公司或上级组织的管理层审查和批准。


在制定预算的过程中,可以考虑到公司的内部目标和目的,针对外部环境的各种方案开发几种选择。 尽管如此,最后还是选择了主要(基本)方案,根据该方案可以计算所有部门的预算。 该过程的最终结果是整个公司(公司集团)的合并预算,其简化形式是公司内所有部门预算的总和。


实际上,在制定预算时,每个单元都遵循以下原则:“要求更多,您将得到恰到好处”。 当计划的收入不足以支付计划的成本时,该原则的结果就是合并预算的赤字。 因此,在任何预算过程中,最后阶段的预算始终是平衡的,这包括建立更严格的收入计划并通过一个或另一个单位和物品削减某些类型的支出。 自然,随后重新计划所有计划并形成合并预算。 为了使收入和支出为零,可以进行任意数量的重计以及后续合并。


但这还不是全部。 多次重新计算和合并数据既耗时又在技术上可解决的任务叠加在与更改数据模型相关的更为复杂的任务上,根据该任务,将进行计划指标的重新计算和合并。 例如,可以决定明年集中销售主要类型的产品,并通过创建新的法人实体将某些生产过程外包。 这些决定不仅应以文本或图表的形式描述,而且应更改与成本和财务结果形成有关的所有结算文件。 而且,这样的决定可能在制定初步预算的阶段以及在平衡合并预算的阶段产生。


从实现预算过程支持的软件的角度来看,TIME是上述过程中的关键资源,在此过程中可以更改公司的业务模型,并且已经在此新模型上进行了计算。 显然,在这种情况下,Excel表现不佳,因为它使您能够提供从设置任务到更改业务模型到发布重新计算的值的最短时间。 ERP系统只能承诺在准备下一个财政年度第一季度的财务报表时会考虑该决定。


是什么使Excel在支持管理决策过程中提供这种效率的时间管理? 这个问题的答案也非常简单-当将Excel与每个用户面对面使用时,任务管理器,业务分析师,测试人员和最终用户将同时合并在一起,其在ERP系统中的功能不仅分布在不同的人之间,而且分布在不同的部门之间。 最重要的是,如果即使执行不同功能的Excel用户说的都是每个人都可以理解的相同语言,那么ERP系统的用户(广义上)会说多种语言,这些语言需要有才华的“翻译”(很少),或者沟通过程的严格形式化,通常会无限期地延迟。


因此,尽管Excel在数据处理速度方面存在所有局限性,并且不可避免地存在以手工方式部分实施的流程,其中最困难的是预算流程,但与ERP系统相比,Excel始终会保持竞争优势。


确定了Excel与处理临时资源的有效性有关的关键优势之后,我们将考虑应在替代软件中实现的弱点,以便与之竞争。


使用大型和复杂模型时,Excel的一个明显的弱点是文件数据存储模型,该模型:


  1. 它需要在外部关系数据库中进行交互以处理多个属性的大量数据。


  2. 更改由几个相关文件或工作表组成的数据模型时,它充满了微妙的逻辑错误。



通过以内置编程语言开发软件模块或与外部软件解决方案集成,可以轻松解决这些问题。 但是在这种情况下,Excel失去了其战略优势-用户的存在同时结合了任务管理器,业务分析师,测试人员和最终用户的功能。 取而代之的是,至少出现了两个人-一位经济学家和一名程序员,他们说自己的语言,每人都有一个上级。 结果,通常在一个人的头脑中解决的任何简单任务都变成了漫长的官僚程序。


因此,任何替代软件系统只有在能够扩展Excel可以使用标准公式解决的任务列表而无需其他编程的情况下,才能与Excel竞争。


在最近的商业智能系统中,尽管有大量的陈述,但除了基于Excel数据透视表数据模型的更灵活的报告系统外,总体上没有任何东西(Excel数据透视表简化了对单个统一请求的选择具有属性扫描和水平和垂直跨多个字段的数据聚合的表)。 任何预算过程的核心要素是生产成本的计算和财务结果的形成,因此汇总表的数据模型实际上不适用。


今天,Excel的唯一替代方法是用于复杂经济系统的JetCalc开源建模平台,其源代码可在GitHub上获得 。 它还包含文档链接,演示版本和其他资源。 该系统以MIT许可证的形式分发,对所有感兴趣的各方开放参与其进一步开发的任何报价。


在继续介绍JetCalc架构的细节之前,应该说JetCalc是基于Microsoft技术实现的基于封闭系统架构的JavaScript生态系统中实现的系统的免费版本,该架构自2012年以来一直提供预算,经济分析以及管理和财务报告的合并,其中包括根据IFRS编制合并财务报表的大型冶金控股公司,其年营业额超过100亿美元。


与Excel中一样,在JetCalc中,所有计算均基于最终用户开发和测试的公式。 同时,JetCalc计算系统具有许多独特的属性,可轻松修改所使用的数据模型并实时生成复杂的合并报告。


JetCalc数据模型的主要功能是创建单元格公式的方式。 如果在Excel中为每个单元格编写公式,则在JetCalc中为行或列编写公式,并且在单元格级别,系统会在打开文档的上下文中动态生成公式。 这种方法大大减少了更改公式的时间,并且完全消除了算术错误的出现。 此外,个别列组合为某些类型的文档的标题(大写),这使您可以在一处更改多个文档的列公式。


JetCalc的另一个功能是存在一种专门的机制,该机制用于基于行树对文档行之间的单元格值求和,其中对每个父行的子行执行求和。 因此,在JetCalc中,不必在Excel中列出应作为参数包含在SUM公式(A1; A2; ...)中的单元格,而在Web界面上对所需的求和行放置一个选中标记就足够了。 此外,任何行都可以标记为不包含在金额中,并加上相反的符号(即减去)。 添加新行时,与Excel不同,JetCalc不需要更改任何设置,因为在打开的文档的上下文中,单元格公式将自动重新组织。


JetCalc的第三个重要功能是在会计对象的上下文中收集信息,这些对象以树的形式组织,具有许多属性,这些属性使您可以通过编写简单易懂的公式来进行汇总和过滤的复杂计算。


例如,对于包括乌拉尔冶金厂JSC(代码201)和乌拉尔轧钢厂JSC(代码202)的冶金企业部门(MET代码),要计算该部门的总数,请计算文档上下文中任何主单元格的公式将转换为:


$@#201? + $@#202? 

相同的表达式可以表示为具有合并函数的公式,当将一个或多个企业添加到MET组时,该表达式将自动扩展:


 $@<<<(D:MET)? 

JetCalc系统核心还具有一个内置机制,可以自动以数据输入的形式抽取值,通过将数据库中由公式计算出的值保存为数据库中的主值,可以显着减少计算系统的负担。 随后,这种存储的值可以由计算系统在形成各种分析计算时重新使用。 使用相同的公式来设置自动抽取的值,以及设置动态计算的值。


使用动态公式和自动抽取的值之间的选择完全由用户设置域模型决定,包括在管理的简便性和文档指标的计算速度之间进行选择:


  1. 动态公式足以配置一次,但是随着模型变得更加复杂和数据量的增加,报告速度将逐渐放慢;


  2. 自动抽取公式允许您将计算值替换为主变量,这可以大大提高报告系统的性能,但是在修改文档结构时需要更多的纪律,因为以前抽取的值可能需要在更改文档设置后重新抽取。



有关JetCalc结算系统的更多信息,请参见。


另一个提高JetCalc经济学家生产率的有趣机制是检查点机制,它是一类特殊的公式,也可以由用户配置,当正确输入主要数据时,该公式应产生零值。 如果控制点的值非零,则不能阻止文档输入数据,这意味着不能正式认为该文档已及时提交给更高的组织。 这种方法使您可以并行执行识别报告组织的数百名员工而不是上级组织的单个员工的逻辑错误的工作。


当然,JetCalc实现了一些标准功能,例如打印文档或将报告保存为PDF文件,将单个文档输出为图形,为每个文档创建主题文档等等。


在实践中已被证明可行的有希望的事情中,人们可以通过GitHub挑选将曾经创建的模型分发给无限数量的订阅者的可能性。 此功能基于将创建的域模型存储在MongoDB数据库中,并将值存储在PostgreSQL中。 因此,域模型是一个JSON文件,可以很容易地从任何来源加载到MongoDB数据库中。


总而言之,我想说的是,该项目目前正在作为其参与者的个人主动行动的一部分进行开发,并且准备好在大约90%的实际“战斗”条件下使用。 但是剩下的10%则需要在所有领域中仔细地将系统细化到商业水平-从测试部署脚本,完成结算系统的功能,改进Web界面的人机工程学到编写文档,创建演示模型,开发用于保存模型的格式和用于与外部交换数据的协议的协议系统等等。


因此,邀请所有对项目开发感兴趣的人参加开发团队,该团队今天由两个人组成。在这个团队中,可以找到志同道合的人,获得市场上没有类似产品的独特知识,并实现他们最奇妙的想法。

Source: https://habr.com/ru/post/zh-CN421163/


All Articles