将 MDX 转换为 DAX 查询时的性能问题
Performance issue when converting MDX to DAX queries
我有一个 MDX 查询,我想将其转换为 DAX 以提高性能,但结果不如预期,MDX 需要 11 秒才能完成,而 DAX 需要 34 秒。任何改进 DAX 查询的建议
MDX 查询:
SELECT
{
[Measures].[Internet Total Sales]
} ON COLUMNS,
ORDER(
NONEMPTY
(
{
[Product].[Model Name].[Model Name].AllMembers *
[Product].[Product Line].[Product Line].AllMembers *
[Product].[Product Name].[Product Name].AllMembers *
[Customer].[First Name].[First Name].AllMembers *
[Customer].[Last Name].[Last Name].AllMembers
},
{
[Measures].[Internet Total Sales]
}
),
[Product].[Model Name].CurrentMember.MemberValue, ASC
) ON ROWS
FROM [Model]
DAX 查询:
EVALUATE
CALCULATETABLE
(
FILTER
(
SUMMARIZE
(
CROSSJOIN('Product', 'Customer'),
[Model Name],
[Product Line],
[Product Name],
[First Name],
[Last Name],
"Internet Total Sales",
[Internet Total Sales]
),
NOT ISBLANK([Internet Total Sales])
)
)
ORDER BY [Model Name] ASC
谢谢。
EVALUATE
SUMMARIZECOLUMNS(
'Product'[Model Name],
'Product'[Product Line],
'Product'[Product Name],
'Customer'[First Name],
'Customer'[Last Name],
"Internet Total Sales", [Internet Total Sales]
)
ORDER BY 'Product'[Model Name]
我有一个 MDX 查询,我想将其转换为 DAX 以提高性能,但结果不如预期,MDX 需要 11 秒才能完成,而 DAX 需要 34 秒。任何改进 DAX 查询的建议
MDX 查询:
SELECT
{
[Measures].[Internet Total Sales]
} ON COLUMNS,
ORDER(
NONEMPTY
(
{
[Product].[Model Name].[Model Name].AllMembers *
[Product].[Product Line].[Product Line].AllMembers *
[Product].[Product Name].[Product Name].AllMembers *
[Customer].[First Name].[First Name].AllMembers *
[Customer].[Last Name].[Last Name].AllMembers
},
{
[Measures].[Internet Total Sales]
}
),
[Product].[Model Name].CurrentMember.MemberValue, ASC
) ON ROWS
FROM [Model]
DAX 查询:
EVALUATE
CALCULATETABLE
(
FILTER
(
SUMMARIZE
(
CROSSJOIN('Product', 'Customer'),
[Model Name],
[Product Line],
[Product Name],
[First Name],
[Last Name],
"Internet Total Sales",
[Internet Total Sales]
),
NOT ISBLANK([Internet Total Sales])
)
)
ORDER BY [Model Name] ASC
谢谢。
EVALUATE
SUMMARIZECOLUMNS(
'Product'[Model Name],
'Product'[Product Line],
'Product'[Product Name],
'Customer'[First Name],
'Customer'[Last Name],
"Internet Total Sales", [Internet Total Sales]
)
ORDER BY 'Product'[Model Name]