Sql server 将维度从行移动到列时MDX查询的性能问题

Sql server 将维度从行移动到列时MDX查询的性能问题,sql-server,excel,pivot-table,mdx,ssas-tabular,Sql Server,Excel,Pivot Table,Mdx,Ssas Tabular,我在SSAS上有一个表格多维数据集(),我在Excel中创建了一个与之连接的数据透视 我有两个度量和两个维度。如果我将其中一个维度移动到列中,则需要一两分钟来处理 在这些情况下,MDX查询是不同的 在我看来,第二个查询只将行移动到列 如果有人能解释为什么这两种不同的布局具有不同的性能,我将不胜感激。我有没有办法提高第二种布局的性能?根据我的经验,简单的回答是,向透视表中添加许多列会降低性能 即使屏幕上有相同的数据,通过旋转查询使行数多于列数,也会更快地返回结果。我使用PowerPivot

我在SSAS上有一个表格多维数据集(),我在Excel中创建了一个与之连接的数据透视

我有两个度量和两个维度。如果我将其中一个维度移动到列中,则需要一两分钟来处理

在这些情况下,MDX查询是不同的

在我看来,第二个查询只将行移动到列


如果有人能解释为什么这两种不同的布局具有不同的性能,我将不胜感激。我有没有办法提高第二种布局的性能?

根据我的经验,简单的回答是,向透视表中添加许多列会降低性能

即使屏幕上有相同的数据,通过旋转查询使行数多于列数,也会更快地返回结果。我使用PowerPivot和SSMS进行了测试,结果类似。列越少,速度越快


其他信息访问:哪一个比我更能解释这一点D

您是否尝试过切换值和勾选值?感谢您在这个老问题上发表您的想法:)。我将查看提供的链接。
--Fast Qry & result set all on rows

SELECT {[Measures].[Sum of FairValue],[Measures].[Sum of TradeAmt]} 
DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME ON COLUMNS , 
NON EMPTY Hierarchize(DrilldownMember(CrossJoin({[HedgeValuation].[CloseDt].[All],[HedgeValuation].[CloseDt].[CloseDt].AllMembers}, 
{([HedgeValuation].[TicketNum].[All])}), [HedgeValuation].[CloseDt].[CloseDt].AllMembers, [HedgeValuation].[TicketNum])) 
DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME ON ROWS  FROM [Model] WHERE ([SnapshotDt].[CurrentSnapshotDtFlag].&[Y]) 
CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS
--Slow and result is in column

SELECT NON EMPTY CrossJoin(Hierarchize(DrilldownMember(CrossJoin({[HedgeValuation].[CloseDt].[All],[HedgeValuation].[CloseDt].[CloseDt].AllMembers}, 
{([HedgeValuation].[TicketNum].[All])}), [HedgeValuation].[CloseDt].[CloseDt].AllMembers, [HedgeValuation].[TicketNum])), 
{[Measures].[Sum of FairValue],[Measures].[Sum of TradeAmt]}) 
DIMENSION PROPERTIES PARENT_UNIQUE_NAME,HIERARCHY_UNIQUE_NAME ON COLUMNS  FROM [Model] 
WHERE ([SnapshotDt].[CurrentSnapshotDtFlag].&[Y])
CELL PROPERTIES VALUE, FORMAT_STRING, LANGUAGE, BACK_COLOR, FORE_COLOR, FONT_FLAGS