Powerbi 功率Bi、Dax-计算、滤波器、平衡

Powerbi 功率Bi、Dax-计算、滤波器、平衡,powerbi,dax,Powerbi,Dax,你能帮我解决这个问题吗?因为我对DAX完全陌生,英语不是我的第一语言,所以我甚至在努力找到正确的问题 问题出在这里 我有两张桌子: 起动平衡 +------+---------------+ | Type | Start balance | +------+---------------+ | A | 0 | | B | 10 | +------+---------------+ 进进出出 +------+-------+------+

你能帮我解决这个问题吗?因为我对DAX完全陌生,英语不是我的第一语言,所以我甚至在努力找到正确的问题

问题出在这里

我有两张桌子:

起动平衡

+------+---------------+
| Type | Start balance |
+------+---------------+
| A    |             0 |
| B    |            10 |
+------+---------------+
进进出出

+------+-------+------+----+-----+
| Year | Month | Type | In | Out |
+------+-------+------+----+-----+
| 2020 |     1 | A    | 20 |  20 |
| 2020 |     1 | A    |  0 |  10 |
| 2020 |     2 | B    | 20 |   0 |
| 2020 |     2 | B    | 20 |  10 |
+------+-------+------+----+-----+
我想得到如下结果:

未过滤:

+------+-------+------+---------+----+-----+------+
| Year | Month | Type | Balance | In | Out | Left |
+------+-------+------+---------+----+-----+------+
| 2020 |     1 | A    |       0 | 20 |  20 |    0 |
| 2020 |     1 | B    |      10 | 20 |  10 |   20 |
| 2020 |     2 | A    |       0 | 20 |  10 |   10 |
| 2020 |     2 | B    |      20 | 20 |  10 |   30 |
+------+-------+------+---------+----+-----+------+
过滤(例如2020/2年/月):

因此,在为年/月选择切片器时,它应该计算所选年/月之前的余额,然后显示所选年/月值


编辑:已更正的开始\u余额表。

样本数据是否正确

A->起始余额是10,但在未筛选的表格示例中,它是0

这些表之间有什么关系吗? 期初余额是否始终适用于本年度?如果2021出现在输入输出表中会怎样?你怎么知道起始余额是什么时候开始的

没有起始平衡的例子

如果要显示给定筛选器的值中断,应使用语句ALL或REMOVEFILTERS函数(在AnalysisServices 2019中以及自2019年10月起在Power BI中)

更多有用信息:

你说得对,我更正了start\U平衡表。起始余额将出现一次,它总是在任何日期之前开始。我可以添加年份/日期。我还没有任何不动产。如果你有一个明确的关系,指向输入输出表中的第一个月和开始余额中的行。然后将[Start Balance]度量添加到计算中就足够了。计算(sum([Start Balance]+[in])-sum([out])、all('in_out'[Year]、'in_out'[Month])如果不是,则可能必须使用查找和If函数
+------+-------+------+---------+----+-----+------+
| Year | Month | Type | Balance | In | Out | Left |
+------+-------+------+---------+----+-----+------+
| 2020 |     2 | A    |       0 | 20 |  10 |   10 |
| 2020 |     2 | B    |      20 | 20 |  10 |   30 |
+------+-------+------+---------+----+-----+------+
calculate(sum([in]) - sum([out]), all('in_out'[Year],'in_out'[Month]))