我需要一个基于两列条件的计算列(两个表中的业务单位编号以及第一个表和第二个表中的 L1/帐户类别),这些列求和,然后在条件改变之前重复几行,然后得出一个新的总和重复几行,依此类推。 L1/Account Categories 列有不同的名称,因为它是原始数据。
例如,任何时候 ASSETS 和 111 出现在同一行中,我都想将它们用作条件,并在新列中使用所有其他匹配行的总和,并且每次出现两个条件时总和都会重复在同一行。任何时候 P/L 和 111 出现在同一行中,这将是数据集中所有其他 P/L 和 111 出现的总和(总共大约 1000 行)......等等。
我尝试过使用 FILTER、SUMX、嵌套 IF 语句的 DAX 公式,还尝试了 Power Query 语言以及其他尝试。也许我必须创建一张或多张新表?如果您需要查看我的一些尝试,请告诉我。
顶部图像是我想象的输出在 Power Query 编辑器中的样子,底部图像是源数据的示例。
最后一张图片来自 Tableau - 我需要在 Power BI 中制作一张表格,它基本上是这张图片的副本。最后两列来自不同的表。
答案 0 :(得分:0)
这应该很容易通过关系和度量来实现 - 不需要计算列或强大的查询合并。您需要在这两个表之间建立关系。事实上,我会在您的业务部门模型中引入第三个表。
Power BI 模型关系的局限性在于它们只能基于单个列。因此,要在这两个表之间建立关系,您必须在这两个表中添加一个包含 BU 和财务报表行的计算列,例如:JoinCol = CONCATENATE([Business_Unit_Number], [L1])
。然后你就可以建立关系并做你想做的事。
更好的(我推荐的)方法是将业务部门分离到一个单独的表中,并建立如下关系:
然后,您在视觉中所需要做的就是从 BU 表中拖出业务单位名称、从 FS Lines 表中拖出 L1 以及对金额求和 Amount = SUM('Financial Data'[Rolled Up Detail])
的度量。
这是一个工作示例:https://1drv.ms/u/s!AmqvMyRqhrBpgtUT5HKnZP1U3Gzc9w?e=en91dV