首先,我要感谢您花时间阅读本文。
我正在使用Altova Stylevision创建XBRL文档。我已正确引入XBRL分类标准等。我正在创建一些饼图来显示1,三家公司的销售收入和每家公司持有的全部销售收入的百分比。我的毛利率也在做同样的事情。
我的COGS帐户是400020,我的销售收入帐户是800000。
以下代码用于分解我正在比较的三家公司:
for $i in distinct-values($XBRL/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader/gl-cor:entryDetail/gl-cor:identifierReference/gl-cor:identifierCode) return $i
以下代码计算销售收入
sum($XBRL/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader/gl-cor:entryDetail[gl-cor:account/gl-cor:accountMainID='800000' and gl-cor:identifierReference/gl-cor:identifierCode=current() ]/gl-cor:amount)
以下代码计算每家公司的总销售收入百分比
round-half-to-even(sum($XBRL/xbrli:xbrl/gl-cor:accountingEntries/
gl-cor:entryHeader/gl-cor:entryDetail[gl-cor:account/gl-cor:accountMainID='800000' and gl-cor:identifierReference/gl-cor:identifierCode=current() ]/gl-cor:amount)
div sum($XBRL/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader/gl-cor:entryDetail[gl-cor:account/gl-cor:accountMainID='800000' ]/gl-cor:amount)
* 100, 1)
以下代码计算毛利润
sum($XBRL/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader/gl-cor:entryDetail[gl-cor:account/gl-cor:accountMainID='800000' and gl-cor:identifierReference/gl-cor:identifierCode=current() ]/gl-cor:amount)
-sum($XBRL/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader/gl-cor:entryDetail[gl-cor:account/gl-cor:accountMainID='400020' and gl-cor:identifierReference/gl-cor:identifierCode=current() ]/gl-cor:amount)
代码基本上是我当前每家公司的销售收入帐户的总和 - 当前时间每家公司的销售成本帐户总和。
上面的所有代码都可以使用,对我来说!
当我去计算毛利润时,我的脑袋会爆炸,哈哈。我以为我可以做类似于总销售收入代码的百分比,但我似乎无法得到它。
这是我的代码,但没有正确计算毛利百分比
round-half-to-even(sum($XBRL/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader/gl-cor:entryDetail[gl-cor:account/gl-cor:accountMainID='800000' and gl-cor:identifierReference/gl-cor:identifierCode=current() ]/gl-cor:amount)
-sum($XBRL/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader/gl-cor:entryDetail[gl-cor:account/gl-cor:accountMainID='400020' and gl-cor:identifierReference/gl-cor:identifierCode=current() ]/gl-cor:amount))
div sum($XBRL/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader/gl-cor:entryDetail[gl-cor:account/gl-cor:accountMainID='800000' ]/gl-cor:amount)
- sum($XBRL/xbrli:xbrl/gl-cor:accountingEntries/gl-cor:entryHeader/gl-cor:entryDetail[gl-cor:account/gl-cor:accountMainID='400020' ]/gl-cor:amount) * 100, 1
我认为问题是因为我正在划分我的收入帐户 - COGS帐户的总和,但div标签只在声明的收入部分之前。但是,无论我如何尝试编写语句,我都会收到一个错误,除非我这样输入,否则它甚至不会返回结果。它输出的结果是每个公司的十万分之一和百分之一的1。显然,它应该只为每家公司输出一个百分比,总共三个百分点。
我不确定下一步该尝试什么,我真的希望它只是一个语法错误,但任何语法帮助,或重写语句非常感谢!
谢谢, 乔尔
答案 0 :(得分:0)
在XPath表达式的谓词中,您应该使用变量= $ i而不是= current()来与for循环中的实际公司进行比较。
希望这有帮助。