2012-07-16 2 views
0
SELECT 
{ [Measures].[Net] } ON COLUMNS 
, NON EMPTY 
{ ([Bill To].[Customer Name].[Customer Name].ALLMEMBERS 
* [Bill To].[Account Type].[Account Type].ALLMEMBERS 
* [Reporting Date].[Fiscal Period].[Fiscal Period].ALLMEMBERS) } 
DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME 
ON ROWS 
FROM (SELECT (STRTOSET(@EmployeeDimEmployeeManagerCode)) ON COLUMNS 
     FROM (SELECT (STRTOSET(@BillToDimCustAccountType)) ON COLUMNS 
     FROM (SELECT (STRTOSET(@GeneralLedgerDimGLBusinessUnit)) ON COLUMNS 
     FROM (SELECT (STRTOSET(@CompanyDimCompanyName)) ON COLUMNS 
     FROM (SELECT (STRTOMEMBER(@FromCalendarDateDimMonth) : STRTOMEMBER(@FromCalendarDateDimMonth).LAG(11)) ON COLUMNS 
     FROM [Revenue]))))) WHERE (IIF(STRTOSET(@CompanyDimCompanyName, CONSTRAINED).Count = 1 
, STRTOSET(@CompanyDimCompanyName, CONSTRAINED) 
, [Company].[Company].currentmember) 
, IIF(STRTOSET(@GeneralLedgerDimGLBusinessUnit, CONSTRAINED).Count = 1 
, STRTOSET(@GeneralLedgerDimGLBusinessUnit, CONSTRAINED) 
, [Product].[GL Business Unit].currentmember) 
, IIF(STRTOSET(@EmployeeDimEmployeeManagerCode, CONSTRAINED).Count = 1 
, STRTOSET(@EmployeeDimEmployeeManagerCode, CONSTRAINED) 
, [Order Primary Sales Assignment].[Order Primary Sales Assignment Manager Name].currentmember)) 
CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE 
, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS 

저는 신참 MDX 개발자입니다. 위의 쿼리 (누군가 다른 사람이 쓴)에서 나는 'from'부분을 이해하지 못했습니다. 왜 우리는 열에 strtoset 매개 변수를 넣고 수익 큐브에서 무엇을 가져 옵니까?MDX 쿼리를 이해해야합니다.

답변

0

이 쿼리에는 subselects; 이 기능은 쿼리를 필터링하는 데 사용됩니다.

@EmployeeDimEmployeeManagerCode과 같은 모든 변수는 쿼리를 실행하기 전에 바뀝니다. StrToSet 함수는 주입 공격의 위험을 줄이기 위해 사용됩니다.

관련 문제