【发布时间】:2021-06-28 09:25:34
【问题描述】:
我是 PowerBI 的新手(但我知道编码和 SQL),所以我的问题可能很简单或在其他地方得到解答 - 我很高兴有任何进展。
我应该计算每个月和货币对的平均汇率,因此按其他列分组和排序。这一切都应该发生在 Power Query 中,但我不知道如何在 M 中体现这一点。
在 DAX 中,我得出了一个可用(但并不完美)的公式:
RATE_AVG_MONTH = IF (
(Source_Tab[SOURCE_SYSTEM] == "System_1"),
CALCULATE(AVERAGE(Source_Tab[RATE_AVG_DAILY]),
ALLEXCEPT(Source_Tab, Source_Tab[CURRENCY_A], Source_Tab[CURRENCY_B], Source_Tab[MONTH], Source_Tab[YEAR])
),
)
这里仍然缺少结果应该是“ORDERed BY Source_Tab[YEAR]”。
这如何用 M 表示?
【问题讨论】:
-
如果你真的想,你可以写出这样的计算;
Table.Group显示了一个分组示例(带有总和),但在这方面它与 DAX 完全不同,因此有相当长的学习曲线。它也没有像 DAX 那样针对这种计算进行完全优化;它在过滤和转换方面大放异彩。如果您不想在客户端使用 DAX,通常最好在源端进行计算(例如在 SQL 中),并让 M 仅在必要时通过少量转换导入数据。 -
感谢您的提示。我不想在 DAX 中进行计算,因为在查询转换中应该删除一列(s.t. 它不在报告中),但这是真的:最好在 SQL 中执行此操作。
标签: sql powerbi powerquery powerbi-desktop powerbi-datasource