У меня есть разница между использованием "вычислить" или нет в этом случае? - PullRequest
0 голосов
/ 03 октября 2019
M-CY_Growth% = calculate([M-CY_Growth]/abs([M-PY_Sales]))

Равно использовать или не РАСЧЕТАТЬ?

Ответы [ 3 ]

1 голос
/ 03 октября 2019

Предполагая, что [M-CY_Growth] и [M-PY_Sales] являются мерами, не должно быть разницы.

От Полное руководство по DAX Глава 5, Понимание перехода контекста с мерами section:

всякий раз, когда вы вызываете меру из другого выражения, DAX автоматически инкапсулирует меру в CALCULATE .

0 голосов
/ 03 октября 2019

Насколько я знаю, если вы не передадите аргумент "фильтра", нет никакой разницы в передаче выражения в функцию CALCULATE и оценке этого выражения вне функции CALCULATE. В этом случае, поскольку вы не передаете аргумент фильтра в функцию CALCULATE, нет причин использовать его.

CALCULATE разработан таким образом, что у вас есть некоторый контроль над контекстом, в котором вычисляется выражение. Вы можете сделать это, передав фильтр функции CALCULATE, которая в противном случае не учитывалась бы при вычислении выражения. И наоборот, вы можете использовать функцию CALCULATE, чтобы игнорировать фильтры, которые в противном случае были бы приняты во внимание при вычислении выражения.

В статье Microsoft Docs для этой функции содержится дополнительная информация, а также примерпоследний сценарий, упомянутый выше: https://docs.microsoft.com/en-us/dax/calculate-function-dax.

0 голосов
/ 03 октября 2019

Там не должно быть никакой разницы. Фактически, в большинстве случаев, когда вызывается мера, она неявно включается в вычисление.

...