Я работаю над визуализацией Монте-Карло в PowerBI. До сих пор я был в состоянии выполнить симуляцию Монте-Карло, но я застрял в создании визуализации.
Я создал таблицу с двумя столбцами, итерацией и результатом, которая может иметь любое количество строк (скажем, 1000 для примера). Я хочу отобразить результат в виде гистограммы из примерно 20 баров, однако, поскольку результатом может быть любое число, я должен сгруппировать результаты по 20 диапазонам, которые я буду отображать на графике. У меня все это работает, я получаю хорошую таблицу с именем (которое является текстовым представлением диапазона), минимальным значением, максимальным значением и счетчиком количества итераций в этом диапазоне.
Но потом я заметил, что общее количество итераций не соответствует 1.000, я проверил, почему это может быть, и заметил, что несколько переменных, похоже, были пересчитаны. Поэтому я создал тестовый код, чтобы увидеть, что произошло:
tableMinGevolg = Record.Field(Table.Min(MonteCarlo_runs, "gevolgTotaal"), "gevolgTotaal"),
test1 = tableMinGevolg,
test2 = tableMinGevolg,
test3 = tableMinGevolg,
Запуск этого кода может / приведет к 3 различным значениям для тестовых переменных. Итак, я покопался и обнаружил, что Power Query M использует ленивые вычисления для выражений Record и Table. Поскольку моделирование в Монте-Карло использует случайность, я предполагаю, что это вызывает мою проблему. Каждый раз, когда к таблице обращаются, значения оцениваются, и случайность может создавать разные результаты, что мешает моим результатам.
Я хотел бы знать, можно ли принудительно оценить переменную, чтобы я мог быть уверен, что моделирование по методу Монте-Карло больше не будет выполняться, пока я вычисляю эти диапазоны?