Power BI - SQL:关键字“DECLARE”附近的语法不正确。 ')' 附近的语法不正确

问题描述 投票:0回答:2

刚接触 SQL,并获得了在 Power BI 中使用的以下查询。它在预览时正确提取数据表,但在将更改应用到 Power BI Desktop 时失败。我不知道如何修复语法。

我收到此错误:

Power BI - SQL:关键字“DECLARE”附近的语法不正确。 ')' 附近的语法不正确。

这是查询:

DECLARE @CLIENT AS NVARCHAR(32)
DECLARE @FULLVERSION AS NVARCHAR(10)
DECLARE @DATERUN AS DATETIME
DECLARE @ANON AS INT --1 to set anonymised mode on, 0 to set it to off
DECLARE @FROMDATE AS DATE --(FORMAT = YYYYMMDD) --UPDATE 
DECLARE @TODATE AS DATE --(FORMAT = YYYYMMDD) --UPDATE
SET @CLIENT = 'HOGANS'
--SET @FULLVERSION = (SELECT MAX(BH_Version) FROM BH_Version)
SET @DATERUN = ( Getdate() )
SET @ANON = 0
SET @FROMDATE = '20211101' --(FORMAT = YYYYMMDD) --UPDATE 
SET @TODATE = '20211231' --(FORMAT = YYYYMMDD) --UPDATE 
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET nocount ON;

-- Insert statements for procedure here
SELECT @Client                                                       AS
       ClientName,
       @DATERUN                                                      AS DateRun,
       @FROMDATE                                                     AS
       QueryVariable_FromDate,
       @TODATE                                                       AS
       QueryVariable_ToDate,
       -- @FULLVERSION as BHVersionWhenRun,
       T.bh_taskguid,
       RIGHT(Datepart(yy, T.bh_creationdate), 2)
       + RIGHT('00'+ CONVERT(NVARCHAR(2), Datepart(mm, T.bh_creationdate)), 2)
       + '-' + CONVERT(NVARCHAR, T.bh_referenceid)                   AS TaskID,
       Auth.bh_userguid                                              AS
       AuthorGUID,
       CASE
         WHEN @ANON = 0 THEN Auth.bh_username
         WHEN @ANON = 1 THEN NULL
       END                                                           AS
       AuthorName,
       AuthDept.bh_departmentname                                    AS
       AuthorDepartmentName,
       (SELECT TOP 1 AD.bh_departmentname
        FROM   bh_historic_report_departments AS AD
        WHERE  AuthDept.bh_parentguid = AD.bh_departmentguid)        AS
       AuthorDepartmentParent,
       --THIS CHECKS THE HISTORIC DEPT STRUCTURE TO GET THE NAME OF THE PARENT DEPARTMENT OF THE AUTHOR
       Sec.bh_userguid                                               AS
       CompletedByGUID,
       CASE
         WHEN @ANON = 0 THEN Sec.bh_username
         WHEN @ANON = 1 THEN NULL
       END                                                           AS
       CompletedByName,
       SecDept.bh_departmentname                                     AS
       CompletedByDepartmentName,
       (SELECT TOP 1 SD.bh_departmentname
        FROM   bh_historic_report_departments AS SD
        WHERE  SecDept.bh_parentguid = SD.bh_departmentguid)         AS
       SecDepartmentParent,
       --THIS CHECKS THE HISTORIC DEPT STRUCTURE TO GET THE NAME OF THE PARENT DEPARTMENT OF THE SECRETARY
       CASE
         WHEN @ANON = 0 THEN (SELECT TOP 1 HU.bh_username
                              --BH_UserGuid and remove the join for GUID only
                              FROM   bh_historic_report_taskaudit HTA
                                     INNER JOIN bh_historic_report_users AS HU
                                             ON ( HU.bh_userguid =
                                                  HTA.bh_userguid )
                              WHERE  ( HTA.bh_taskguid = T.bh_taskguid )
                              ORDER  BY bh_auditid ASC)
         WHEN @ANON = 1 THEN NULL
       END                                                           AS
       'Submitted By (Name)',
       (SELECT TOP 1 bh_userguid
        FROM   bh_historic_report_taskaudit
        WHERE  ( bh_taskguid = T.bh_taskguid )
        ORDER  BY bh_auditid ASC)                                    AS
       'Submitted By (GUID)',
       (SELECT bh_username
        FROM   bh_locks
        WHERE  bh_objectguid = t.bh_taskguid)                        AS
       'Locked By',
       CASE
         WHEN (SELECT bh_username
               FROM   bh_locks
               WHERE  bh_objectguid = t.bh_taskguid) IS NULL THEN 'Pending'
         WHEN Sec.bh_userguid IS NULL THEN 'In Progress'
         ELSE 'Complete'
       END                                                           AS
       'TaskStatus',
       CASE
         WHEN (SELECT TOP 1 bh_userguid
               FROM   bh_historic_report_taskaudit
               WHERE  ( bh_taskguid = T.bh_taskguid )
               ORDER  BY bh_auditid ASC) = Auth.bh_userguid THEN 'Author'
         ELSE 'On Behalf'
       END                                                           AS
       'Logged by',
       WF.bh_workflowname                                            AS
       WorkflowName,
       CASE
         WHEN DT.bh_workflowname IS NOT NULL THEN DT.bh_workflowname
         ELSE 'Not Configured'
       END                                                           AS
       'Work Type Should Go To',
       CASE
         WHEN ( DT.bh_workflowguid = T.bh_workflowguid ) THEN 'Correct Workflow'
         --If no default workflow is specified then we assume this is sent to the correct workflow.
         WHEN ( DT.bh_workflowguid IS NULL ) THEN 'No Default Workflow'
         ELSE 'Incorrect Workflow'
       END                                                           AS
       'Sent To Correct Workflow',
       -- ONLY POSSIBLE ON V5 AND ABOVE                       
       CASE
         WHEN ( T.bh_source = '15' ) -- Sent from Forms Desktop Assistant
               --OR the below which includes iOS (10, 11), Android (12), Now Mail (4) and Hub (18)  
               OR ( T.bh_lengthintenths = '0'
                    AND T.bh_source IN ( '18', '10', '11', '12', '4' ) )
       --AND T.BH_DocumentType NOT IN (SELECT BH_DocumentTypeName FROM BH_DocumentTypes)) -- assuming that if WT no longer exists and is zero length and is sent from Hub (i.e. not from Mobile, Classic etc which can't send Now tasks) then NOW  
       THEN 'TASK'
         ELSE 'VOICE'
       END                                                           AS
       'Task Type (TASK or VOICE)',
       --FOR V4, MANUALLY APPLYING ALL VOICE AS TASK TYPE
       --                           'VOICE' as 'Task Type (NOW or VOICE)',
       CASE
         WHEN @ANON = 0 THEN T.bh_title
         WHEN @ANON = 1 THEN NULL
         ELSE NULL
       END                                                           AS
       'BH_Title',
       T.bh_documenttype                                             AS WorkType
       ,
       T.bh_creationdate,
       T.bh_senddate,
       T.bh_sentpriority,
       CASE
         WHEN TA.priorities > 1 THEN 'YES'
         ELSE 'NO'
       END                                                           AS
       'PriorityChanged',
       T.bh_completiondate,
       CASE
         WHEN ( T.bh_requiredby IS NOT NULL )
              AND ( T.bh_completiondate <= T.bh_requiredby ) THEN 'On Time'
         WHEN ( T.bh_requiredby IS NOT NULL )
              AND ( T.bh_completiondate > T.bh_requiredby ) THEN 'Overdue'
         WHEN T.bh_requiredby IS NULL THEN 'No Deadline Set'
       END                                                           AS OnTime,
       T.bh_priorityname,
       T.bh_requiredby,
       CASE
         WHEN TA.requiredby > 1 THEN 'YES'
         ELSE 'NO'
       END                                                           AS
       'RequiredByChanged',
       T.bh_sourcetimezone                                           AS
       TimeZoneOffset,
       T.bh_turnaroundtime                                           AS
       TurnaroundTimeInSec,
       --NOTE: this is the difference in seconds between the send date and the completion date
       --                 (
       --                        RIGHT('000' + CONVERT(VARCHAR, T.BH_TurnaroundTime / 3600 / 24),3) + ':' 
       --                     + RIGHT('00' + CONVERT(VARCHAR, T.BH_TurnaroundTime / 3600 % 24),2) + ':' 
       --                     + RIGHT('00' + CONVERT(VARCHAR, T.BH_TurnaroundTime / 60 % 60),2) + ':' 
       --                     + RIGHT('00' + CONVERT(VARCHAR,T.BH_TurnaroundTime % 60),2) 
       --                 ) AS TurnaroundTimeDays,
       T.bh_numreassignments,
       CASE
         WHEN ( T.bh_source = '0' ) THEN 'Classic Client'
         WHEN ( T.bh_source = '4' ) THEN 'Now Mail'
         WHEN ( T.bh_source = '5' ) THEN 'Web Client'
         WHEN ( T.bh_source = '6' ) THEN 'Windows Mobile'
         WHEN ( T.bh_source = '7' ) THEN 'BlackBerry'
         WHEN ( T.bh_source = '8' ) THEN 'Hosted Services Client'
         WHEN ( T.bh_source = '9' ) THEN 'Work Manager'
         WHEN ( T.bh_source = '10' ) THEN 'BigHand Go'
         WHEN ( T.bh_source = '11' ) THEN 'BigHand Mobile iPhone'
         WHEN ( T.bh_source = '12' ) THEN 'Android'
         WHEN ( T.bh_source = '13' ) THEN 'BlackBerry 10'
         WHEN ( T.bh_source = '14' ) THEN 'Windows Phone'
         WHEN ( T.bh_source = '15' ) THEN 'BigHand Now'
         WHEN ( T.bh_source = '16' ) THEN 'BigHand Go For Windows'
         WHEN ( T.bh_source = '17' ) THEN 'BigHand Go For Windows Phone'
         WHEN ( T.bh_source = '18' ) THEN 'Hub'
       END                                                           AS 'Source'
       ,
       T.bh_sourcetimezone,
       --(
       --     RIGHT('00' + CONVERT(VARCHAR, (T.BH_LengthInTenths/10) / 3600 % 24),2) + ':' 
       --   + RIGHT('00' + CONVERT(VARCHAR, (T.BH_LengthInTenths/10) / 60 % 60),2) + ':' 
       --   + RIGHT('00' + CONVERT(VARCHAR,(T.BH_LengthInTenths/10) % 60),2)
       --   ) AS LengthInHours,
       ( T.bh_lengthintenths / 10 )                                  AS
       LengthInSeconds,
       ( T.bh_lengthintenths / 10 ) / 60                             AS
       LengthInMins,
       (SELECT Sum(Datediff(second, bh_startdate, bh_enddate))
        FROM   bh_historic_report_taskaudit
        WHERE  ( bh_taskguid = T.bh_taskguid ))                      AS
       'Total Processing Time (Sec)',
       --(
       --  RIGHT('00' + CONVERT(VARCHAR, (SELECT sum(datediff(SECOND,BH_StartDate, BH_EndDate)) 
       --                                                        FROM BH_HISTORIC_REPORT_TASKAUDIT
       --                                                       WHERE (BH_TaskGuid = T.BH_TaskGuid) AND BH_StartDate >= T.BH_SendDate) / 3600 % 24),2) + ':' 
       --+ RIGHT('00' + CONVERT(VARCHAR, (SELECT sum(datediff(SECOND,BH_StartDate, BH_EndDate)) 
       --                                                        FROM BH_HISTORIC_REPORT_TASKAUDIT
       --                                                       WHERE (BH_TaskGuid = T.BH_TaskGuid) AND BH_StartDate >= T.BH_SendDate) / 60 % 60),2) + ':' 
       --+ RIGHT('00' + CONVERT(VARCHAR,(SELECT sum(datediff(SECOND,BH_StartDate, BH_EndDate)) 
       --                                                        FROM BH_HISTORIC_REPORT_TASKAUDIT
       --                                                       WHERE (BH_TaskGuid = T.BH_TaskGuid) AND BH_StartDate >= T.BH_SendDate) % 60),2)
       --) AS TotalProcessingHours,
       ( Isnull((SELECT Sum(Datediff(second, bh_startdate, bh_enddate))
                 FROM   bh_historic_report_taskaudit
                 WHERE  ( bh_taskguid = T.bh_taskguid )
                        AND ( bh_userguid = T.bh_authorguid )), 0) ) AS
       'Author Processing Time (Sec)',
       --(ISNULL((
       --      RIGHT('00' + CONVERT(VARCHAR, (SELECT sum(datediff(SECOND,BH_StartDate, BH_EndDate)) 
       --                                                            FROM BH_HISTORIC_REPORT_TASKAUDIT
       --                                                           WHERE (BH_TaskGuid = T.BH_TaskGuid) AND (BH_UserGuid = T.BH_AuthorGuid) AND (BH_StartDate >= T.BH_SendDate)) / 3600 % 24),2) + ':' 
       --    + RIGHT('00' + CONVERT(VARCHAR, (SELECT sum(datediff(SECOND,BH_StartDate, BH_EndDate)) 
       --                                                            FROM BH_HISTORIC_REPORT_TASKAUDIT
       --                                                           WHERE (BH_TaskGuid = T.BH_TaskGuid) AND (BH_UserGuid = T.BH_AuthorGuid) AND (BH_StartDate >= T.BH_SendDate)) / 60 % 60),2) + ':' 
       --    + RIGHT('00' + CONVERT(VARCHAR,(SELECT sum(datediff(SECOND,BH_StartDate, BH_EndDate)) 
       --                                                            FROM BH_HISTORIC_REPORT_TASKAUDIT
       --                                                           WHERE (BH_TaskGuid = T.BH_TaskGuid) AND (BH_UserGuid = T.BH_AuthorGuid) AND (BH_StartDate >= T.BH_SendDate)) % 60),2)), '00:00:00')
       --    ) AS AuthorProcessingHours,
       ( Isnull((SELECT Sum(Datediff(second, bh_startdate, bh_enddate))
                 FROM   bh_historic_report_taskaudit
                 WHERE  ( bh_taskguid = T.bh_taskguid )
                        AND ( bh_userguid <> T.bh_authorguid )
                        AND ( bh_startdate >= T.bh_senddate )), 0) ) AS
       'Non-Author Processing Time (Sec)',
       --(ISNULL((
       --  RIGHT('00' + CONVERT(VARCHAR, (SELECT sum(datediff(SECOND,BH_StartDate, BH_EndDate)) 
       --                                                         FROM BH_HISTORIC_REPORT_TASKAUDIT
       --                                                         WHERE (BH_TaskGuid = T.BH_TaskGuid) AND (BH_UserGuid <> T.BH_AuthorGuid) AND (BH_StartDate >= T.BH_SendDate)) / 3600 % 24),2) + ':' 
       --+ RIGHT('00' + CONVERT(VARCHAR, (SELECT sum(datediff(SECOND,BH_StartDate, BH_EndDate)) 
       --                                                        FROM BH_HISTORIC_REPORT_TASKAUDIT
       --                                                       WHERE (BH_TaskGuid = T.BH_TaskGuid) AND (BH_UserGuid <> T.BH_AuthorGuid) AND (BH_StartDate >= T.BH_SendDate)) / 60 % 60),2) + ':' 
       --+ RIGHT('00' + CONVERT(VARCHAR,(SELECT sum(datediff(SECOND,BH_StartDate, BH_EndDate)) 
       --                                                        FROM BH_HISTORIC_REPORT_TASKAUDIT
       --                                                       WHERE (BH_TaskGuid = T.BH_TaskGuid) AND (BH_UserGuid <> T.BH_AuthorGuid) AND (BH_StartDate >= T.BH_SendDate)) % 60),2)), '00:00:00')
       --) AS NonAuthorProcessingHours,
       (SELECT Sum(bh_playtime)
        FROM   bh_historic_report_taskaudit
        WHERE  ( bh_taskguid = T.bh_taskguid )
               AND ( bh_startdate >= T.bh_senddate ))                AS
       'TotalPlay Time',
       --(
       --  RIGHT('00' + CONVERT(VARCHAR, (SELECT sum(BH_PlayTime) 
       --                                     FROM BH_HISTORIC_REPORT_TASKAUDIT
       --   WHERE (BH_TaskGuid = T.BH_TaskGuid) AND (BH_StartDate >= T.BH_SendDate)) / 3600 % 24),2) + ':' 
       --+ RIGHT('00' + CONVERT(VARCHAR, (SELECT sum(BH_PlayTime) 
       --   FROM BH_HISTORIC_REPORT_TASKAUDIT
       --   WHERE (BH_TaskGuid = T.BH_TaskGuid) AND (BH_StartDate >= T.BH_SendDate)) / 60 % 60),2) + ':' 
       --+ RIGHT('00' + CONVERT(VARCHAR,(SELECT sum(BH_PlayTime) 
       --   FROM BH_HISTORIC_REPORT_TASKAUDIT
       --   WHERE (BH_TaskGuid = T.BH_TaskGuid) AND (BH_StartDate >= T.BH_SendDate)) % 60),2)
       --) AS TotalPlaytimeHours,
       ( Isnull((SELECT Sum(bh_playtime)
                 FROM   bh_historic_report_taskaudit
                 WHERE  ( bh_taskguid = T.bh_taskguid )
                        AND ( bh_userguid = T.bh_authorguid )
                        AND ( bh_startdate >= T.bh_senddate )), 0) ) AS
       'Author Play Time (Sec)',
       --                (ISNULL((
       --                      RIGHT('00' + CONVERT(VARCHAR, (SELECT sum(BH_PlayTime) 
       --                                                         FROM BH_HISTORIC_REPORT_TASKAUDIT
       --                       WHERE (BH_TaskGuid = T.BH_TaskGuid) AND (BH_UserGuid = T.BH_AuthorGuid) AND (BH_StartDate >= T.BH_SendDate)) / 3600 % 24),2) + ':' 
       --                    + RIGHT('00' + CONVERT(VARCHAR, (SELECT sum(BH_PlayTime) 
       --                       FROM BH_HISTORIC_REPORT_TASKAUDIT
       --                       WHERE (BH_TaskGuid = T.BH_TaskGuid) AND (BH_UserGuid = T.BH_AuthorGuid) AND (BH_StartDate >= T.BH_SendDate)) / 60 % 60),2) + ':' 
       --                    + RIGHT('00' + CONVERT(VARCHAR,(SELECT sum(BH_PlayTime) 
       --                       FROM BH_HISTORIC_REPORT_TASKAUDIT
       --                       WHERE (BH_TaskGuid = T.BH_TaskGuid) AND (BH_UserGuid = T.BH_AuthorGuid) AND (BH_StartDate >= T.BH_SendDate)) % 60),2)), '00:00:00' )
       --                    ) AS AuthorPlaytimeHours,
       ( Isnull((SELECT Sum(bh_playtime)
                 FROM   bh_historic_report_taskaudit
                 WHERE  ( bh_taskguid = T.bh_taskguid )
                        AND ( bh_userguid <> T.bh_authorguid )
                        AND ( bh_startdate >= T.bh_senddate )), 0) ) AS
       'Non-Author Play Time (Sec)'
--(ISNULL((
-- RIGHT('00' + CONVERT(VARCHAR, (SELECT sum(BH_PlayTime) 
--                                     FROM BH_HISTORIC_REPORT_TASKAUDIT
--   WHERE (BH_TaskGuid = T.BH_TaskGuid) AND (BH_UserGuid <> T.BH_AuthorGuid) AND (BH_StartDate >= T.BH_SendDate)) / 3600 % 24),2) + ':' 
--+ RIGHT('00' + CONVERT(VARCHAR, (SELECT sum(BH_PlayTime) 
--   FROM BH_HISTORIC_REPORT_TASKAUDIT
--   WHERE (BH_TaskGuid = T.BH_TaskGuid) AND (BH_UserGuid <> T.BH_AuthorGuid) AND (BH_StartDate >= T.BH_SendDate)) / 60 % 60),2) + ':' 
--+ RIGHT('00' + CONVERT(VARCHAR,(SELECT sum(BH_PlayTime) 
--   FROM BH_HISTORIC_REPORT_TASKAUDIT
--   WHERE (BH_TaskGuid = T.BH_TaskGuid) AND (BH_UserGuid <> T.BH_AuthorGuid) AND (BH_StartDate >= T.BH_SendDate)) % 60),2)
--), '00:00:00')) AS NonAuthorPlaytimeHours,
FROM   bh_historic_report_tasks AS T
       INNER JOIN bh_historic_report_users AS Auth
               ON ( T.bh_authorguid = Auth.bh_userguid )
       LEFT OUTER JOIN bh_historic_report_users AS Sec
                    ON ( T.bh_completedby = Sec.bh_userguid )
       INNER JOIN bh_historic_report_departments AS AuthDept
               ON ( T.bh_authordept = AuthDept.bh_departmentguid )
       LEFT OUTER JOIN bh_historic_report_departments AS SecDept
                    ON ( T.bh_completedbydept = SecDept.bh_departmentguid )
       INNER JOIN bh_historic_report_workflows AS WF
               ON ( T.bh_workflowguid = WF.bh_workflowguid )
       LEFT OUTER JOIN (SELECT NULL AS Availability,
                               A.bh_documenttypeguid,
                               A.bh_documenttypename,
                               A.bh_workflowguid,
                               WF.bh_workflowname,
                               A.bh_usage
                        FROM   bh_documenttypes AS A
                               INNER JOIN bh_historic_report_workflows AS WF
                                       ON ( A.bh_workflowguid =
                                            WF.bh_workflowguid )
                        WHERE  ( bh_isglobal = '1'
                                 AND bh_deleted = 0
                                 AND bh_disabled = 0 )
                        UNION
                        SELECT DocTypeDept.bh_departmentguid AS Availability,
                               DOCTYPE.bh_documenttypeguid,
                               DOCTYPE.bh_documenttypename,
                               DOCTYPE.bh_workflowguid,
                               WFLOW.bh_workflowname,
                               DOCTYPE.bh_usage
                        FROM   bh_documenttypebydepartment AS DOCTYPEDEPT
                               INNER JOIN bh_documenttypes AS DOCTYPE
                                       ON ( DOCTYPE.bh_documenttypeguid =
                                            DOCTYPEDEPT.bh_documenttypeguid )
                               LEFT OUTER JOIN bh_historic_report_workflows AS
                                               WFLOW
                                            ON ( DOCTYPE.bh_workflowguid =
                                                 WFLOW.bh_workflowguid )
                        WHERE  DOCTYPEDEPT.bh_departmentguid IN
                               (SELECT DISTINCT tempT.bh_authordept
                                FROM
                               bh_historic_report_tasks AS TempT
                                                                 WHERE
       --TempT.BH_SendDate >='20170901'
       TempT.bh_completiondate >= @FROMDATE
       --Only include tasks sent after a certain date (FORMAT = YYYYMMDD)
       AND TempT.bh_completiondate < @TODATE
       --Only include tasks sent after a certain date (FORMAT = YYYYMMDD)
       )
       AND DOCTYPE.bh_deleted = 0
       AND DOCTYPE.bh_disabled = 0) AS DT
                    ON ( T.bh_documenttype = DT.bh_documenttypename )
                       AND ( ( DT.availability = AuthDept.bh_departmentguid )
                              OR ( DT.availability IS NULL ) )
                       AND ( DT.bh_usage = ( CASE
                                               WHEN ( T.bh_source = '15' )
                                                     -- Sent from Now client
                                                     OR ( T.bh_lengthintenths =
                                                          '0'
                                                          AND T.bh_source = '18'
                                                        )
                                             ----OR sent from Hub and zero length
                                             THEN '2' --NOW TYPE
                                               ELSE '1' --VOICE TYPE
                                             END ) )
       --Joining on latest Audit row for the task so can return things like the latest Workflow stage etc.
       INNER JOIN (SELECT bh_taskguid,
                          Max(bh_auditid)                 AS AuditID,
                          Count(DISTINCT bh_requiredby)   RequiredBy,
                          Count(DISTINCT bh_priorityname) Priorities
                   FROM   bh_historic_report_taskaudit
                   GROUP  BY bh_taskguid) TA
               ON T.bh_taskguid = TA.bh_taskguid
       INNER JOIN bh_historic_report_taskaudit TAUD
               ON TA.auditid = TAUD.bh_auditid
WHERE
  --T.BH_CompletionDate IS NOT NULL  --Include completed tasks only AND 
  --T.BH_CompletedByDept IS NOT NULL--Excludes Drafts created but not submitted--changed from--AND SecDept.BH_DepartmentName IS NOT NULL AND 
  T.bh_completiondate >= @FROMDATE
  --Only include tasks created after a certain date (FORMAT = YYYYMMDD)
  AND T.bh_completiondate < @TODATE
  --Only include tasks created after a certain date (FORMAT = YYYYMMDD) 
  AND TAUD.bh_startdate >= Dateadd(month, -1, @FROMDATE)
  AND TAUD.bh_startdate <= Dateadd(month, 1, @TODATE) --only includes processing audit times for activities started within 1 month prior to and post the Completion Date range

t-sql powerbi
2个回答
4
投票

Power BI 构建这样的查询:

select * from ( ... your query goes here ... ) as SourceQuery

因此,当它将您的查询放在括号之间时,它就不再是有效的查询。 Power BI 会这样做,因为它需要能够向查询添加联接和筛选器。使用 M 和 DAX 重建 Power BI 内部的逻辑,或者将查询放入数据源中的视图/UDF 中并从中进行选择。


0
投票

对于今天遇到同样问题的人,请使用导入而不是直接查询,本机查询将自动激活,这样您就可以获得最新的数据

© www.soinside.com 2019 - 2024. All rights reserved.