将 DAX 函数(包括 ALLEXCEPT、AVERAGE)转换为 PowerQuery 的 M



我是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表示呢?

假设您采用Source_Tab上存在的每日费率的直接平均值。

要在M中进行此转换(使用GUI比使用代码更容易(:

在Source_Tab中,通过控制单击列来选择货币A、货币B、月份和年份,然后单击"分组依据"。

在"新列名"中,命名您的列,将操作更改为平均值,然后选择列中的费率字段。

如果你正在做一些更复杂的事情,比如试图从一天中的一组交易中得出平均利率,然后将该利率平均到一个月,你只需要做两次这个操作,每天分组一次,第二次按月份和年份分组。

我同意上面的评论,认为M不适合做这件事。它绝对可以实现这一转变,但可能会有更有效的地方来实现这一点。

最新更新