Excel 如何在Power Pivot中停止计算?

Excel 如何在Power Pivot中停止计算?,excel,powerpivot,dax,Excel,Powerpivot,Dax,我有时写一个DAX公式,结果对我的机器来说太重了。它甚至可能需要超过10GB的内存,并且会阻塞我的工作相当长的一段时间。Excel此时完全没有响应 是否有暂停计算的选项,以便我可以在不关闭Excel文件的情况下重写公式?到目前为止,我所知道的唯一解决方案是从Task Manager关闭Excel,但我会丢失未保存的工作。最好的办法是通过聚合(使用Power Query-Group By)减少模型中的数据,或者将数据拆分为不同的工作簿(例如,每年一个工作簿) 这样做将减少计算所需的内存/cpu,希

我有时写一个DAX公式,结果对我的机器来说太重了。它甚至可能需要超过10GB的内存,并且会阻塞我的工作相当长的一段时间。Excel此时完全没有响应


是否有暂停计算的选项,以便我可以在不关闭Excel文件的情况下重写公式?到目前为止,我所知道的唯一解决方案是从Task Manager关闭Excel,但我会丢失未保存的工作。

最好的办法是通过聚合(使用Power Query-Group By)减少模型中的数据,或者将数据拆分为不同的工作簿(例如,每年一个工作簿)

这样做将减少计算所需的内存/cpu,希望您的工作簿不会崩溃

否则

可以将Power Pivot中的计算设置为手动模式(设计功能区>计算选项)。有了它,您就可以建立度量值等,而无需Power Pivot/Excel在每次更改时计算它们

如果在更改度量值后有许多大数据透视表正在刷新,这可能会导致Excel崩溃。安装OLAP数据透视表工具扩展()

编辑:

Powerpivot允许您取消在计算字段中进行的计算。更改公式时按enter键后,可以使用Esc键停止计算

这在措施上是不可能的


从你的评论来看,我认为你的模型还有其他问题,建议你先检查一下。。。对于Powerpivot来说,100k行应该非常容易,并且不会占用10gb的内存

最好的办法是通过聚合(使用Power Query-Group By)减少模型中的数据,或者将数据拆分为不同的工作簿(例如,每年一个工作簿)

这样做将减少计算所需的内存/cpu,希望您的工作簿不会崩溃

否则

可以将Power Pivot中的计算设置为手动模式(设计功能区>计算选项)。有了它,您就可以建立度量值等,而无需Power Pivot/Excel在每次更改时计算它们

如果在更改度量值后有许多大数据透视表正在刷新,这可能会导致Excel崩溃。安装OLAP数据透视表工具扩展()

编辑:

Powerpivot允许您取消在计算字段中进行的计算。更改公式时按enter键后,可以使用Esc键停止计算

这在措施上是不可能的

从你的评论来看,我认为你的模型还有其他问题,建议你先检查一下。。。对于Powerpivot来说,100k行应该非常容易,并且不会占用10gb的内存

我建议尝试制定和解决措施。DAX Studio是一个独立的工具和Excel插件,允许您通过语法高亮显示、服务器计时、查询计划等来查询Power Pivot(或SSAS)模型。在这种情况下,如果测量结果导致资源过度使用并冻结您的机器,您可以在不使Excel崩溃的情况下结束DAX Studio进程。如果度量很复杂,可以将其分解为更小的部分,并在DAX Studio中输出结果,以可视化中间步骤

下面显示的是使用两个过滤器进行计算测量测试的示例。度量值嵌入到DAX查询中,结果将是一个单一值,就像您在Power Pivot度量值窗格中看到的一样

EVALUATE
ROW (
    "Measure Result", CALCULATE (
        COUNTROWS ( Registrations ),
        'Vehicle Model'[Vehicle Year] = "2015",
        'Vehicle Model'[Type] = "TRUCK"
    )
)
您可以在上找到有关如何使用DAX Studio的资源。

我建议您尝试开发并解决该措施。DAX Studio是一个独立的工具和Excel插件,允许您通过语法高亮显示、服务器计时、查询计划等来查询Power Pivot(或SSAS)模型。在这种情况下,如果测量结果导致资源过度使用并冻结您的机器,您可以在不使Excel崩溃的情况下结束DAX Studio进程。如果度量很复杂,可以将其分解为更小的部分,并在DAX Studio中输出结果,以可视化中间步骤

下面显示的是使用两个过滤器进行计算测量测试的示例。度量值嵌入到DAX查询中,结果将是一个单一值,就像您在Power Pivot度量值窗格中看到的一样

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

您可以在上找到有关如何使用DAX Studio的资源。

谢谢您的回答,但这并不能解决我的问题。。。给你一个具体的例子:我一直在处理一个大约有100k条记录的数据集,并使用了一个计算函数来计算满足特定条件的列中的值的数量。在2个过滤条件下(在1-2秒内计算),一切正常,但当我添加第3个过滤条件时,文件总是崩溃。。。基本上,我需要停止SQL数据库上的查询执行,这不需要我通过Task manager.100k行关闭Excel?有趣的。。。你能举一个你创建的2个filter和3个filter CALCULATE()函数的例子吗?我已经没有这个函数了。我只能告诉您,这是一个只有唯一值(日期/时间)的列。但是,这不是我问题的重点。我知道解决办法。我只是想知道,如果计算运行太长,是否有“终止”计算的选项。在powerpivot中终止计算的唯一方法是在计算字段上。添加/更改公式并按enter键后,powerpivot将在右下角显示绿色进度条。然后可以按Esc停止计算。在计算列中使用复杂的公式不是很好的做法,但听起来像