当我尝试添加多个Quarter属性时,我似乎遇到了问题。以下工作没有问题。
Started GET "/sessions/new" for 127.0.0.1 at 2015-07-20 18:24:58 +0800
Processing by SessionsController#new as HTML
Redirected to http://localhost:3000/sessions/new
Filter chain halted as :verify_authenticity rendered or redirected
Completed 302 Found in 5ms (ActiveRecord: 0.0ms)
cache: [GET /sessions/new] miss
现在,当我尝试再添加一个季度时,我得到了:
VALUE #Error函数需要参数的字符串或数字表达式。使用了元组集表达式。
FORMATTED_VALUE #Error函数需要参数的字符串或数字表达式。使用了元组集表达式。
这就是我正在做[日期]。[季度]设置。
class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.
# For APIs, you may want to use :null_session instead.
protect_from_forgery with: :exception
before_action :verify_authenticity, except: [:session]
private
def verify_authenticity
redirect_to sessions_new_url unless current_user
end
end
class SessionsController < ApplicationController
skip_before_action :verify_authenticity
def new
redirect_to index_url if current_user
end
end
我可以有多个[日期]。[季度]属性吗?
答案 0 :(得分:1)
看起来你有一个错字约翰:[Date].[Quartr].&[Oct-Dec]
在创建新度量之前尝试聚合两个季度:
WITH
MEMBER [Date].[Quarter].&[Jul-Dec] AS
Aggregate(
{[Date].[Quarter].&[Jul-Sep]
,[Date].[Quarter].&[Oct-Dec]}
)
MEMBER [Measures].[myTest] AS
(
[Measures].[sample]
,[Date].[Fiscal Date].[Fiscal Year].&[1415]
,[Date].[Quarter].&[Jul-Dec]
)
,format_string = '$#,###,###,##0'
SELECT
NON EMPTY
答案 1 :(得分:0)
问题是
这是一个元组:
(
[Measures].[sample],
[Date].[Fiscal Date].[Fiscal Year].&[1415],
[Date].[Quarter].&[Jul-Sep]
)
虽然这不是元组:
(
[Measures].[sample],
[Date].[Fiscal Date].[Fiscal Year].&[1415],
{[Date].[Quarter].&[Jul-Sep], [Date].[Quartr].&[Oct-Dec]}
)
将元组视为多维平面上的坐标。每个平面的值必须是单数。
因此,虽然(1,2,3)
是有效元组,但(1,{1,2}, 3)
是无效的元组。 SSAS只是对你不宽容,因为这里没有抛出一些语法错误。
如果您希望添加四分之一以上,可以使用Aggregate
功能,如下所示:
Aggregate
(
{[Date].[Quarter].&[Jul-Sep], [Date].[Quartr].&[Oct-Dec]} * [Date].[Fiscal Date].[Fiscal Year].&[1415]
,
[Measures].[sample]
)
This是理解集合和元组概念的一个很好的起点。
Here您可以了解Aggregate
功能。