MDX:这两个查询有什么区别
MDX: What is the difference of these both queries
MDX
: 这些查询有什么区别,我用的是adventure works数据库。
SELECT
{[Measures].[Internet Sales Amount]} ON COLUMNS,
NON EMPTY ([Product].[Category].[Category] ,
[Date].[Calendar Year].[Calendar Year])ON ROWS
FROM [Adventure Works]
GO
SELECT
{[Measures].[Internet Sales Amount]} ON COLUMNS,
NON EMPTY ([Product].[Category].[Category] *
[Date].[Calendar Year].[Calendar Year])ON ROWS
FROM [Adventure Works]
这两个脚本是一样的。
这实际上是将一组元组放在行上 - 您已经使用大括号 (...)
显式定义了元组
SELECT
{[Measures].[Internet Sales Amount]} ON COLUMNS
,NON EMPTY
( //<<start of tuple
[Product].[Category].[Category]
,[Date].[Calendar Year].[Calendar Year]
) ON ROWS
FROM [Adventure Works];
第二个脚本是通过星号运算符的交叉连接*
:
SELECT
{[Measures].[Internet Sales Amount]} ON COLUMNS
,NON EMPTY
[Product].[Category].[Category] * [Date].[Calendar Year].[Calendar Year] ON ROWS
FROM [Adventure Works];
当您对 crossjoin
执行操作时,它 returns 一组元组 - 所以您最终会得到相同的单元格集。
您可以编写交叉连接而不是使用星号 - 虽然星号是现代 mdx 脚本中最常用的符号:
SELECT
{[Measures].[Internet Sales Amount]} ON COLUMNS
,NON EMPTY
CrossJoin
(
[Product].[Category].[Category]
,[Date].[Calendar Year].[Calendar Year]
) ON ROWS
FROM [Adventure Works];
MDX
: 这些查询有什么区别,我用的是adventure works数据库。
SELECT
{[Measures].[Internet Sales Amount]} ON COLUMNS,
NON EMPTY ([Product].[Category].[Category] ,
[Date].[Calendar Year].[Calendar Year])ON ROWS
FROM [Adventure Works]
GO
SELECT
{[Measures].[Internet Sales Amount]} ON COLUMNS,
NON EMPTY ([Product].[Category].[Category] *
[Date].[Calendar Year].[Calendar Year])ON ROWS
FROM [Adventure Works]
这两个脚本是一样的。
这实际上是将一组元组放在行上 - 您已经使用大括号 (...)
SELECT
{[Measures].[Internet Sales Amount]} ON COLUMNS
,NON EMPTY
( //<<start of tuple
[Product].[Category].[Category]
,[Date].[Calendar Year].[Calendar Year]
) ON ROWS
FROM [Adventure Works];
第二个脚本是通过星号运算符的交叉连接*
:
SELECT
{[Measures].[Internet Sales Amount]} ON COLUMNS
,NON EMPTY
[Product].[Category].[Category] * [Date].[Calendar Year].[Calendar Year] ON ROWS
FROM [Adventure Works];
当您对 crossjoin
执行操作时,它 returns 一组元组 - 所以您最终会得到相同的单元格集。
您可以编写交叉连接而不是使用星号 - 虽然星号是现代 mdx 脚本中最常用的符号:
SELECT
{[Measures].[Internet Sales Amount]} ON COLUMNS
,NON EMPTY
CrossJoin
(
[Product].[Category].[Category]
,[Date].[Calendar Year].[Calendar Year]
) ON ROWS
FROM [Adventure Works];