2016-04-28 6 views
0

Я иногда пишу формулу DAX, которая оказывается тяжелой для моей машины. Он может даже занять более 10 ГБ памяти и заблокировать мою работу довольно долгое время. На данный момент Excel полностью не отвечает.Как остановить вычисление в Power Pivot?

Есть ли возможность приостановить вычисление, чтобы я мог переписать формулу без закрытия файла Excel? Пока единственное решение, которое я знаю, закрывает Excel из диспетчера задач, но затем я теряю несохраненную работу.

ответ

0

Лучшая идея состоит в том, чтобы уменьшить ваши данные в модели посредством агрегации (с помощью Power Query - Group By) или разделить данные на разные книги (например, одна книга для каждого года).

Это уменьшит памяти/процессора, необходимых для расчетов и рабочая книга, надеюсь, не будет врезаться ...

В противном случае ...

Вы можете установить расчет в пределах мощности Pivot быть Ручной режим (Design Ribbon> Варианты расчета). Благодаря этому вы можете наращивать свои показатели и т. Д. Без Power Pivot/Excel, рассчитывая их при каждом изменении.

Если у вас есть много больших сводных таблиц, которые обновляются после изменения меры, это может привести к сбою Excel. Установите расширение OLAP PivotTable Tool (http://olappivottableextend.codeplex.com/) - это позволяет отключить автоматическое обновление, которое происходит на сводных таблицах, когда вы что-то изменяете в Power Pivot.

Edit:

PowerPivot позволяет отменить расчет, вносимый в расчетной области. Как только вы нажмете enter при изменении формулы, вы можете использовать клавишу Esc, чтобы остановить вычисление.

То же самое невозможно в измерениях.

Из ваших комментариев я бы подумал, что есть что-то еще не так с вашей моделью, хотя и рекомендовал бы проверить, что сначала ... Строки 100k должны быть чрезвычайно легкими для Powerpivot и не должны приводить к съему 10gb памяти.

+0

Благодарим вас за ответ, но это не решит мою проблему ... Чтобы дать вам конкретный пример: я работал над набором данных с примерно 100 тыс. Записей и использовал функцию CALCULATE, подсчитывая количество значений в колонка, отвечающая определенным условиям. Все работало нормально с 2 условиями фильтра (вычисление в течение 1-2 секунд), но когда я добавлял третий, файл всегда терпел крах ... В основном мне нужен был бы эквивалент остановки выполнения запроса в базах данных SQL, который не потребует от меня закрыть Excel через диспетчер задач. – Amade

+0

100 тыс. Строк? Интересно ... Можете ли вы опубликовать пример созданных вами 2 фильтров и 3 фильтров CALCULATE()? – dijksterhuis

+0

У меня больше нет функции. Я могу только сказать вам, что это столбец с уникальными значениями (дата/время). Но опять же, это был не вопрос моего вопроса. Я знаю обходной путь. Я просто хотел узнать, есть ли возможность «убить» расчет, если он работает до конца. – Amade

2

Я бы предложил попробовать DAX Studio для разработки и устранения неполадок. DAX Studio - это автономный инструмент и плагин Excel, который позволяет запрашивать модель Power Pivot (или SSAS) с подсветкой синтаксиса, тайминги сервера, планы запросов и т. Д. В этом случае, если эта мера приводит к чрезмерному использованию ресурсов и замерзает ваш машине, вы можете завершить процесс DAX Studio без сбоя Excel. Если ваша мера сложна, вы можете разбить ее на более мелкие части и вывести результаты в DAX Studio, чтобы визуализировать промежуточные шаги.

Приведенный ниже пример теста измерения КАЛКУЛЯЦИИ с двумя фильтрами. Эта мера встроена в DAX-запрос, и результат будет иметь одно значение, как то, что вы видите в области измерения Power Pivot.

EVALUATE 
ROW (
    "Measure Result", CALCULATE (
     COUNTROWS (Registrations), 
     'Vehicle Model'[Vehicle Year] = "2015", 
     'Vehicle Model'[Type] = "TRUCK" 
    ) 
) 

Вы можете найти ресурсы о том, как использовать DAX студии в SQLBI.

+0

Спасибо, Крис за помощь, но это не отвечает на мой вопрос ... Меня особенно интересует возможность «убить» длительный расчет без закрытия вниз, а не методы оптимизации запросов (это отдельная тема). Кстати, я согласен с тем, что DAX Studio является отличным инструментом и использует его также :) – Amade

+0

Я не уверен, как отменить вычисление в Power Pivot/Excel, поэтому я предложил использовать DAX Studio в качестве способа избежать убийства Excel , Подумайте об этом, как жертвуя DAX Studio, чтобы сохранить Excel :) Это не самое изящное решение, и было бы, конечно, приятнее просто нажать «побег», чтобы отменить вычисление меры. –

Смежные вопросы