Ssas Mdx查询与多维数据集浏览器不一致
我通过一些计算构建了一个多维Ssas Mdx查询与多维数据集浏览器不一致,ssas,mdx,Ssas,Mdx,我通过一些计算构建了一个多维SSAScube。我有一个计算成员,其中我使用parallelperiod函数根据以下代码计算上月值: Sum ( (EXISTING [TimeDim Transactions].[Year - Quarter - Month - Date].[date].MEMBERS) ,( ParallelPeriod ( [TimeDim Transactions].[Year - Quarter - Month -
SSAS
cube。我有一个计算成员,其中我使用parallelperiod
函数根据以下代码计算上月值:
Sum
(
(EXISTING
[TimeDim Transactions].[Year - Quarter - Month - Date].[date].MEMBERS)
,(
ParallelPeriod
(
[TimeDim Transactions].[Year - Quarter - Month - Date].[month]
,1
,[TimeDim Transactions].[Year - Quarter - Month - Date].CurrentMember
)
,[Measures].[Net Amount]
)
)
当我运行以下查询时,它会按预期工作
SELECT
{
NetAmountSamePeriodLastMonth
,[Measures].[net amount]
} ON COLUMNS
,[Stores Dim].[Store Code].Children ON ROWS
FROM [SalesDW_v1]
WHERE
{
[TimeDim Transactions].[Year - Quarter - Month - Date].[Date].&[2014-12-04T00:00:00]
,[TimeDim Transactions].[Year - Quarter - Month - Date].[Date].&[2014-12-05T00:00:00]
};
但是当我浏览多维数据集以获得具有相同日期筛选器的相同数据时,它给出了错误的数字。从浏览器生成的mdx脚本是:
SELECT
NON EMPTY
{
[Measures].[Net Amount]
,[Measures].[NetAmountSamePeriodLastMonth]
} ON COLUMNS
,NON EMPTY
{[Stores Dim].[Store Code].[Store Code].ALLMEMBERS}
DIMENSION PROPERTIES
MEMBER_CAPTION
,MEMBER_UNIQUE_NAME
ON ROWS
FROM
(
SELECT
{
[TimeDim Transactions].[Year - Quarter - Month - Date].[Date].&[2014-12-04T00:00:00]
,[TimeDim Transactions].[Year - Quarter - Month - Date].[Date].&[2014-12-05T00:00:00]
} ON COLUMNS
FROM [SalesDW_v1]
)
WHERE
[TimeDim Transactions].[Year - Quarter - Month - Date].CurrentMember
CELL PROPERTIES
VALUE
,BACK_COLOR
,FORE_COLOR
,FORMATTED_VALUE
,FORMAT_STRING
,FONT_NAME
,FONT_SIZE
,FONT_FLAGS;
此外,当选择一个日期时,浏览器会显示正确的数字
,NON EMPTY
{[Stores Dim].[Store Code].[Store Code].ALLMEMBERS} *
{
[TimeDim Transactions].[Year - Quarter - Month - Date].[Date].&[2014-12-04T00:00:00]
,[TimeDim Transactions].[Year - Quarter - Month - Date].[Date].&[2014-12-05T00:00:00]
}
DIMENSION PROPERTIES
MEMBER_CAPTION
,MEMBER_UNIQUE_NAME
ON ROWS
是否有方法修改计算成员,以便在浏览器中正常工作。我在power view报告中显示数据,但得到的是在浏览器中看到的错误数字
下面是我仅使用一个日期成员时浏览器生成的代码:
SELECT
NON EMPTY
{ [Measures].[Net Amount]
,[Measures].[NetAmountSamePeriodLastMonth]
}
ON COLUMNS
,NON EMPTY
{ ([Stores Dim].[Store Code].[Store Code].ALLMEMBERS ) }
DIMENSION PROPERTIES
MEMBER_CAPTION
,MEMBER_UNIQUE_NAME ON ROWS
FROM
(
SELECT (
{[TimeDim Transactions].[Year - Quarter - Month - Date].[Date].&[2014-12-05T00:00:00] }
) ON COLUMNS
FROM [SalesDW_v1]
)
WHERE ( [TimeDim Transactions].[Year - Quarter - Month - Date].[Date].&[2014-12-05T00:00:00] )
CELL PROPERTIES VALUE
, BACK_COLOR, FORE_COLOR
, FORMATTED_VALUE
, FORMAT_STRING
, FONT_NAME
, FONT_SIZE
, FONT_FLAGS
问题在于,当过滤器中有两个日期时,范围(用于
[TimeDim Transactions]
维度)设置不正确。但是,对于单个日期,范围设置正确,因此答案匹配
选择一个日期时
请参阅与切片器关联的子句。它是[TimeDim Transactions].[年-季-月-日].[日]和[2014-12-05T00:00:00])
选择两个日期时
切片器变为:
[TimeDim事务][Year-Quarter-Month-Date].CurrentMember
请注意,子选择不会设置上下文。因此,当您说要按[TimeDim Transactions].[Year-Quarter-Month-Date].CurrentMember
进行筛选时,您实际上根本没有进行筛选,因为没有作用域的当前成员是[all]
成员。这就是为什么你有一个奇怪的大数字
要解决此问题,请尝试将日期放在轴上,如下所示,而不是切片器,以便选择范围
,NON EMPTY
{[Stores Dim].[Store Code].[Store Code].ALLMEMBERS} *
{
[TimeDim Transactions].[Year - Quarter - Month - Date].[Date].&[2014-12-04T00:00:00]
,[TimeDim Transactions].[Year - Quarter - Month - Date].[Date].&[2014-12-05T00:00:00]
}
DIMENSION PROPERTIES
MEMBER_CAPTION
,MEMBER_UNIQUE_NAME
ON ROWS
1) 当你说错话的时候,那有多错?那是一个接近的数字还是一个奇怪的大数字?2) 请粘贴仅使用一个日期时生成的MDX。这是一个奇怪的大数字。我预计约30000,我得到约1600000。我编辑了该问题,以提供仅使用一个日期成员时浏览器生成的代码。谢谢,我料到了。我很快会给你答复的。非常感谢!我现在理解了问题所在,但我也看到没有办法解决它,因为我无法自定义报表工具(power view)执行的查询。我说的对吗?只要过滤是在切片机上进行的,那么不,它不能被删除:(