首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DAX中礼品卡客户转换为“真实”客户计算

DAX中礼品卡客户转换为“真实”客户计算
EN

Stack Overflow用户
提问于 2020-09-23 11:42:23
回答 2查看 34关注 0票数 0

我正在努力计算一个使用礼品卡作为他的第一个订单的客户是否会转变为一个“正常”的客户,这意味着他/她下一次没有礼品卡的订单。

我可以从PaymentMethod中看到客户是如何付款的(PaymentMethod =“礼品卡”)

我已经做了一个专栏,如果订单是用这个购买的,否则它是空白的。

所以基本上我想做一个专栏,上面写着:如果顾客第一次购买礼物卡,然后再下新订单,那不是用礼品卡购买的。例如,1为真,0为FALSE。

我的orders表中有以下列:

  1. OrderID
  2. CustomerID
  3. BookingDate
  4. PaymentMethod (现金、信用卡、礼品卡等)
  5. 礼品卡(空白卡或礼品卡)

我尝试过不同的DAX代码,但问题是-我不知道我怎么写第一个订单必须是礼品卡订单,而下一个客户订单必须是非礼品卡订单,所以我怀疑我尝试过的DAX代码是否相关。

以下是我希望达到的目标:

我希望有人能把我引向正确的方向,提前谢谢你。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-23 15:11:34

我建议一些类似的东西:

代码语言:javascript
复制
TransitioningCustomer =
VAR FirstOrderDate =
    CALCULATE ( MIN ( Data[BookingDate] ), ALLEXCEPT ( Data, Data[CustomerID] ) )
VAR FirstOrderGiftCard =
    "GC"
        IN CALCULATE (
            VALUES ( Data[PaymentMethod] ),
            ALLEXCEPT ( Data, Data[CustomerID] ),
            Data[BookingDate] = FirstOrderDate
        )
VAR PaymentMethods =
    CALCULATE (
        DISTINCTCOUNT ( Data[PaymentMethod] ),
        ALLEXCEPT ( Data, Data[CustomerID] )
    )
RETURN
    IF ( FirstOrderGiftCard && PaymentMethods > 1, 1, BLANK () )

这将计算第一个订购日期,然后检查该日期是否使用了礼品卡。它还计算了所使用的(不同的)支付方法的总数。

得出的结论是,如果在第一次约会时使用了礼品卡,而且在客户的购买历史上使用了其他类型的支付方法,那么就是一个过渡的客户。

票数 1
EN

Stack Overflow用户

发布于 2020-09-25 11:08:49

在Alexis的帮助下,我最终得到了这样的结果:如果客户第一次订货使用礼品卡,则返回1,第二次订单则返回礼品卡以外的其他东西。

代码语言:javascript
复制
FirstOrderGiftNextOrderNotGift = 
VAR FirstOrderID =
    CALCULATE (
      MIN ( orders[Column1.Order_ID] ),
        ALLEXCEPT ( orders, orders[Column1.Customer_ID] )
    )
VAR FirstOrderGiftCard =
    CALCULATE (
        VALUES ( orders[Column1.PaymentMethod] ),
        ALLEXCEPT ( orders, orders[Column1.Customer_ID] ),
        orders[Column1.Order_ID] = FirstOrderID,
        orders[Column1.PaymentMethod] = "Giftcard"
    )
VAR PaymentMethods =
    CALCULATE (
        DISTINCTCOUNT ( orders[Column1.PaymentMethod] ),
        ALLEXCEPT ( orders, orders[Column1.Customer_ID] )
    )
RETURN
    IF (
        FirstOrderGiftCard = "Giftcard"
            && orders[ReturningCustomer] = "Yes"
            && PaymentMethods > 1,
            1,
        0
    )

在计算了这一列之后,我刚刚创建了一个计算不同客户数量1的度量。

代码语言:javascript
复制
CountOfCustomersWhoTransitioned =
CALCULATE (
    DISTINCTCOUNT ( orders[Column1.Customer_ID] ),
    orders[FirstOrderGiftNextOrderNotGift] = 1
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64027179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档