Power BI,DAX - 计算,筛选,平衡

3
“您能否帮助我解决问题呢?因为我对DAX完全不熟悉,而且英语也不是我的母语,所以我甚至都找不到正确的问题。”
“这里是问题。”
“我有两个表:”
“start_balance”
+------+---------------+
| 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):
+------+-------+------+---------+----+-----+------+
| Year | Month | Type | Balance | In | Out | Left |
+------+-------+------+---------+----+-----+------+
| 2020 |     2 | A    |       0 | 20 |  10 |   10 |
| 2020 |     2 | B    |      20 | 20 |  10 |   30 |
+------+-------+------+---------+----+-----+------+

因此,在为年/月选择切片器时,它应该在选择的年/月之前计算余额,然后显示所选的年/月值。
编辑:更正了start_balance表格。
1个回答

1

这个样本数据是否正确?

A -> 起始余额为10,但在您的未过滤表格示例中,它为0。

这些表之间有任何关系吗? 期初余额是否总是适用于当前年份?如果2021年出现在 in_out 表中怎么办?如何知道起始余额开始时刻?

不包含起始余额的示例

如果您想显示给定过滤器断点的值,应该使用 ALL 或 REMOVEFILTERS 函数(自2019年分析服务以及自2019年10月 Power BI 起可用)。

calculate(sum([in]) - sum([out]), all('in_out'[Year],'in_out'[Month]))

更多有用的信息: https://www.sqlbi.com/articles/managing-all-functions-in-dax-all-allselected-allnoblankrow-allexcept/



你是对的,我纠正了起始余额表。起始余额只会出现一次,它总是在任何日期之前。我可以添加年/日期信息。我还没有任何关联。 - Maciej
如果您在in_out表中有一个指向第一个月和start_balance行的明确关系,那么只需将[Start Balance]度量添加到计算中即可。 calculate( sum([Start Balance] + [in]) - sum([out]), all('in_out'[Year],'in_out'[Month]))如果没有这样的关系,那么您可能需要使用lookup和IF函数。 - msta42a

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接