我有一个SSAS多维数据集,可从源系统导入数据视图。每次执行此处理时,它都会导入完整视图,但是我想通过仅处理自上次处理以来新的或已更改的行来提高性能。谁能建议最好的方法?
该视图具有一个ID列,以及创建日期和修改日期(如果有帮助的话)?
即使在谷歌搜索后也不知道尝试什么
答案 0 :(得分:0)
您的模型处理策略是什么?你为什么要Process Full
?
有一个名为Process Add
的选项,它根据条件允许仅加载尚未在多维数据集中配置的新数据,该条件允许您对所有未在模型中添加的已修改数据进行分段。
以下是流程添加逻辑的简短片段:
[Reflection.Assembly]::LoadWithPartialName("Microsoft.AnalysisServices")
$server = New-Object Microsoft.AnalysisServices.Server
$server.connect("localhostK12")
$db = $server.Databases.Item("AdventureWorks Tabular Model SQL 2012")
$dsv = $db.DataSourceViews.GetByName("Sandbox")
$cube = $db.Cubes.GetByName("Model")
$measureGroup = $cube.MeasureGroups.GetByName("Internet Sales")
$partition = $measureGroup.Partitions.GetByName("Internet Sales")
$queryBinding = New-Object Microsoft.AnalysisServices.QueryBinding( $dsv.DataSourceID, "SELECT * FROM FactInternetSales **WHERE OrderDateKey >= 20120215**" )
$partition.Process( "ProcessAdd", $queryBinding )
$server.Disconnect()
答案 1 :(得分:0)
使用以下查询过滤最近修改的记录
pause