0
내 SSRS의 데이터 소스로 직접 SQL 쿼리를 사용하고

신고 :도끼 2012 - 직접 SQL 쿼리와 대안

SELECT 
    emp.EmployeeNumber, FirstName, LastName, MiddleName 
    , amts.AmountCode, amts.amt, amts.AmountType 
from EmployeeMaster emp 
LEFT OUTER JOIN 
(
    SELECT 'Earning' as AmountType, EmployeeNumber, EarningCode as AmountCode 
      , SUM(Amount) AS amt 
      FROM EmployeeEarnings GROUP BY EmployeeNumber, EarningCode 
    UNION ALL 
    SELECT 'Deduction', EmployeeID, DeductionID 
      , SUM(Amount) AS amt FROM EmployeeDeduction GROUP BY EmployeeID, DeductionId 
) AS amts 
ON emp.EmployeeNumber = amts.EmployeeNumber 

이 쿼리는 직원 수의 종류에 따라 직원 당 모든 수입과 공제를 수집 수입 및 공제 유형. x ++ 또는 AOT 쿼리에서이 작업을 수행 할 수 있는지 여부는 확실하지 않습니다. 이 작업을 수행하는 것이 괜찮은지 궁금하거나이 쿼리와 같은 결과를 내기위한 대안이 있습니까? 나는 RDP 클래스를 사용하고 있습니다.

답변

3

중첩 된 조인은 AX에서 지원되지 않습니다. 그러나 EmployeeEarningsEmployeeDeduction의 조합보기를 만들 수 있습니다. 그런 다음 EmployeeMaster을 선택하고보기와 외부 조인을 사용하여 동일한 결과를 얻을 수 있습니다.

dataAreaIdPartition을 고려하지 않으므로 SQL이 정확하지 않습니다.

0

예, 중첩 된 조인은 AX에서 지원되지 않습니다. 예,보기를 만들 수 있습니다. ResultSet 클래스를 사용하면 SQLconnection을 통해 직접 SQL 쿼리를 사용하여 sqlStatement의 결과를 얻을 수 있습니다.

얼마 전에 래퍼 클래스 https://github.com/mazzy-ax/SysResultSet을 만들었습니다. 러시아어에 대한 의견. 죄송합니다. ax2012로 가져올 프로젝트 https://github.com/mazzy-ax/SysResultSet/blob/ax2012/AOT/Classes/Class_SysResultSet.xpo

SQL 직접 쿼리로 작업을 간소화합니다. 자신이하는 일을 안다면 시도해보십시오.

그리고 예, dataAreaIdPartition을 고려하지 않으므로 SQL이 올바르지 않습니다. 추가적으로 SQL 쿼리는 Axapta XDS (레코드 레벨 보안)와 Axapta 보안 서브 시스템을 무시합니다. AOT 쿼리가 더 적절하다고 생각합니다.