2016-10-19 2 views
0

나는 SQL 작성이 쿼리가 있습니다SSAS 테이블 형식 DAX

SELECT 
    CustomerId, 
    CustomerType, 
    CASE WHEN CustomerStatus = 'VIP' 
     THEN CustomerDiscountType 
     ELSE NULL 
    END AS CustomerDiscountType 
FROM Customer 

을 그리고 DAX 쿼리에서 이것을 쓰고 싶습니다 은 내가 같이 쓸 수 있다는 사실을 알고 :

EVALUATE 
(
    SUMMARIZE 
    (
     'Customer', 
     'Customer'[CustomerId], 
     'Customer'[Type], 
     'Customer'[DiscountType], 
     "Customer VIP", IF('Customer'[Status] = "VIP", 'Customer'[DiscountType], BLANK()) 
    ) 
) 

그러나 조건 나도 그 쿼리의 속성 '고객'[DiscountType]을 포함 할 필요하면 쓰고,하지만 난 그 열 이름을 쓰고 싶을 때 문 "Discou IF ntType ",하지만 아래처럼 나를 위해 가능하지 않습니다. 이미 존재하는 [DiscountType] 이후 열을 추가 할 수 없습니다 '하게 요약' 기능 :

EVALUATE 
(
    SUMMARIZE 
    (
     'Customer', 
     'Customer'[CustomerId], 
     'Customer'[Type], 
     "DiscountType", IF('Customer'[Status] = "VIP", 'Customer'[DiscountType], BLANK()) 
    ) 
) 

그것은 때문에 기존 DiscountType 열이 오류와 함께 실패했습니다.

답변

1

SUMMARIZE을 사용하는 대신 SELECTCOLUMNS 기능을 사용할 수 있습니다. IF 함수는 DiscountType 열을 반환하고 사용자의 Customer 테이블에 이미 있기 때문에 오류가 발생한 것 같아요. 또한 SUMMARIZE이 DAX 식과 같은 집계없이 작동하는지 확신 할 수 없습니다.

이 표현을 시도해보십시오

EVALUATE 
(
    SELECTCOLUMNS (
     'Customer', 
     "CustomerId", 'Customer'[CustomerId], 
     "Type", 'Customer'[Type], 
     "DiscountType", IF ('Customer'[Status] = "VIP", 'Customer'[DiscountType], BLANK()) 
    ) 
) 

UPDATE : 영업 이익은 댓글을 통해 알려줍니다 사용되는 버전은 SELECTCOLUMNS 기능을 지원하지 않습니다 SSAS 2014입니다.

예상 결과를 얻으려면 SUMMARIZEADDCOLUMNS 함수를 혼합하여 사용할 수 있습니다.

EVALUATE 
(
    SUMMARIZE (
     ADDCOLUMNS (
      ADDCOLUMNS (
       DISTINCT (Customer[CustomerID]), 
       "Type", CALCULATE (VALUES (Customer[Type])), 
       "Status", CALCULATE (VALUES (Customer[Status])), 
       "DiscountType1", CALCULATE (VALUES (Customer[DiscountType])) 
      ), 
      "DiscountType", IF ([Status] = "VIP", [DiscountType1], BLANK()) 
     ), 
     [CustomerId], 
     [Type], 
     [DiscountType] 
    ) 
) 

테스트되지는 않았지만 효과가 있다고 생각되면 알려 주시기 바랍니다.

+0

SELECTCOLUMNS를 사용하려고했지만 오류로 인해 실패했습니다. 'SELECTCOLUMNS'이름을 확인하지 못했습니다. 유효한 테이블 또는 함수 이름이 아닙니다. SSAS 버전 2014가 해당 버전에서 작동합니까? – Bushwacka

+0

@ Bushwacka, 2014 버전에서 지원되는 기능을 사용하여 답변을 업데이트했습니다. –

관련 문제