我正在查看一些公司间应收账款(AR)数据。让我们假设,我有几家公司互相交易。除了其中一家公司外,所有公司都使用相同的会计系统,我可以从中检索数据。对于奇怪的公司,我无法访问公司间交易的AR数据。作为代理,我从其他公司获取应付账款(AP)数据。我的目标是准备一份报告,显示所有公司的总AR数据(根据中央会计系统公司的AR数据和这些公司针对一家公司预订的AP数据构建)
我现在在Powerpivot有三个表,“表AR”持有AR数据(公司代码,AR帐号和金额)和“表AP”持有应付帐款数据和一个持有公司代码的“查询表” ,相应的AR代码和一栏告诉我公司是否在中央会计系统上(这一栏只是保留“直接”或“间接”的信息 - 反映我收集数据的方式)
每当公司代码链接到查找表中的“直接”时,我的度量应该总结来自AR表的数量,该数据表是按“公司代码”列过滤的。当公司代码是“间接的”时,该度量应该总结来自按“AP号”列过滤的AP表的数量。
我们的想法是建立一个DAX指标来总结这些线上的AR数量:
如果公司(在“查询表”中)=“直接”,则使用公司代码并在“表AR”的列“公司代码”中匹配时将“表AR”中的所有金额相加。
否则,如果公司(“查询表”)=“间接”,则使用“查询表”中的AP帐号,并在匹配列“AR帐号”时将“表AP”中的所有金额相加。
也许下面的图片可以进一步澄清我的想法。
我非常感谢有关如何为上述内容构建DAX指标的一些想法。
非常感谢!
答案 0 :(得分:2)
这是对PowerPivot的一个很好的用法,尽管你的虚拟数据有些让我感到困惑,但这应该回答你的问题。
我假设您的AR和AP表分别与company code
和AR acc no
上的查找表有关系。这意味着两列在现实世界中必须是唯一的!
理论上你可以把它写成一个巨大的衡量标准,但这不是很好的做法 - 我会把它分解为4个措施。
首先是对每个AR和AP表中的金额求和的度量:
[AR Amount] = SUM(AR[amount])
[AP Amount] = SUM(AP[amount])
下一个度量是IF
部分,还处理公司代码具有多个值的情况(即可能导致错误的总数)。这里的关键是您不能在度量中放置“裸”列引用,以便在访问列上使用VALUES
:
[Raw Measure] =
IF (
HASONEVALUE ( lookup[company code] ),
IF (
VALUES ( lookup[Access] ) = "Direct",
[AR Amount],
[AP Amount]
),
BLANK ()
)
这里的问题是你的总数 - 也许你关心,也许你不关心,但上面的措施会让他们一片空白!以下度量迭代公司代码,然后总结总计的值(如果有的话,也适用于小计):
[Iterated Measure] = SUMX(VALUES(lookup[company code]), [Raw Measure])