PowerBI DAX通过GROUP BY获得COUNT DISTINCT,请参见下面的SQL查询

时间:2018-10-18 12:26:04

标签: powerbi dax

我得到了以下 SQL查询,它为我提供了来自数据库的正确值。

SELECT
  SUM( DISTINCT_ORDER_NUMBERS )
FROM
(
  SELECT STORE_KEY,
         COUNT( DISTINCT TRANSACTION_NUM ) AS DISTINCT_ORDER_NUMBERS,
         DATE_KEY,
         TRANSACTION_TYPE_KEY
  FROM Pos_Data
  GROUP BY STORE_KEY,
           DATE_KEY,
           TRANSACTION_TYPE_KEY
)
AS A

但是,在Power BI中为测量方法编写DAX公式时,我面临着挑战。到目前为止,这是我一直在尝试的操作,但是遇到错误。

订单总数

VAR _TotalOrders =
SUMMARIZE('Pos_Data',
    'Pos_Data'[STORE_KEY],
    'Pos_Data'[DATE_KEY],
    'Pos_Data'[TRANSACTION_TYPE_KEY],
    "DISTINCT_ORDER_NUMBERS",
    DISTINCTCOUNT('Pos_Data'[TRANSACTION_NUM]))

RETURN SUM(_TotalOrders[DISTINCT_ORDER_NUMBERS])

请协助

1 个答案:

答案 0 :(得分:1)

SUM函数需要一个基本表而不是一个计算表。

尝试以下方法:

VAR _TotalOrders =
SUMMARIZE('Pos_Data',
    'Pos_Data'[STORE_KEY],
    'Pos_Data'[DATE_KEY],
    'Pos_Data'[TRANSACTION_TYPE_KEY],
    "DISTINCT_ORDER_NUMBERS",
    DISTINCTCOUNT('Pos_Data'[TRANSACTION_NUM]))

RETURN SUMX(_TotalOrders, [DISTINCT_CHECK_SEQ])

编辑:如果您提到的差异与空值有关,请尝试使用this代替DISTINCTCOUNT

COUNTAX( DISTINCT( 'Pos_Data'[TRANSACTION_NUM] ), 'Pos_Data'[TRANSACTION_NUM] )

COUNTAX函数(与COUNTX相对)不计算空值。