我有三个桌子。采购发票,税区,税收管辖区。样本数据在图像中。
每个购买发票记录都包含一个[税收区]。每个[税收区]由几个[税收管辖区代码]组成。
税收管辖区记录均具有[生效日期]和[税率]。当[税率]更改为[税辖区代码]时,会将新记录添加到税区中,并具有相同的[税区代码]和新的[生效日期]。旧记录保留以前的[生效日期]。
基于购买发票中的[税收区域]字段,我需要针对每个唯一的[税收管辖区代码]从税收管辖区返回[税率]之和]包含在税区中相应的[税区代码]中。但是,对于每个唯一的[税收辖区代码]返回的[税率],必须是该[税收辖区代码]在[过帐]之前或之前的最新[生效日期]记录。日期]中的购买发票。
例如,对于图1中突出显示的记录,将需要返回(1.9 + 3),因为这些是[税收区号] =“ CO-DELTA”中每个[税收辖区代码]的费率在[发布日期]之前的最新[生效日期] 12/23/2018。
在图2中,突出显示的记录包含相同的[Tax Area],但是由于新的[Tax Rate]对于那些相同的[Tax Jurisdiction Code]生效,因此需要不同的速率。
图1:
图2:
我完全不知道如何实现这一目标。任何帮助将不胜感激。
答案 0 :(得分:1)
首先,请确保您在表之间建立了(许多)关系:
现在,您可以创建自己的有效税收措施:
Effective Tax =
VAR PostingDate =
MAX ( 'Purchase Invoice'[Posting Date] )
RETURN
SUMX (
'Tax Area',
CALCULATE (
SUM ( 'Tax Jurisdiction'[Tax Rate] ),
FILTER (
'Tax Jurisdiction',
'Tax Jurisdiction'[Effective Date]
= CALCULATE (
MAX ( 'Tax Jurisdiction'[Effective Date] ),
FILTER ( 'Tax Jurisdiction', 'Tax Jurisdiction'[Effective Date] <= PostingDate )
)
)
)
)
示例数据的输出:
有关示例PBIX文件,请参见https://pwrbi.com/so_56467693/