首页 > 解决方案 > Power Bi 根据日期切片器选择重新计算商店的状态

问题描述

请先检查屏幕截图:

截屏

截屏

我很难根据日期切片器选择的第一个日期重新计算商店状态。为了简单起见,我有:date桌子,store桌子和order data桌子。这个任务很棘手,因为我有 2 维表和 1 个事实表,并且已经有一个date表连接到我order date的事实表上。

但现在我需要将我的商店分为新旧商店,而且它必须是动态的:

图片

对于每个切片器的选定时间段,目标是查看从切片器选择时间开始在给定年份期间首次订购日期的新商店。

例如:选择的日期是 2021 年 4 月,那么我需要查看所有新商店的第一个订单日期为 04/2020 和 04/2021,并且订单日期早于 2020 年 4 月的商店不再是新的,但是老的。如果我使用该计算带一个单独的事实表并建立关系 b/n 日期表,我将无法连接到我order date需要的事实表。

标签: powerbidaxdatamodelslicers

解决方案


应该创建一个度量来使用ALL过滤器获取商店的第一个订单日期。

First Order Date = CALCULATE(MIN(Fact_Orders[OrderDate]), ALL('Date'))

所以这个度量可以用来对商店进行分类。

Store Classification = 
        
IF 
    (
    [First Order Date] >= DATE(SELECTEDVALUE('Date'[Date].[Year]) - 1, SELECTEDVALUE('Date'[Date].[MonthNo]), 1) && 
            [First Order Date] < DATE(SELECTEDVALUE('Date'[Date].[Year]), SELECTEDVALUE('Date'[Date].[MonthNo]) + 1, 1), 
    "NEW", 
    BLANK()
    )

此公式仅在切片器中选择一个值时才有效,因为它使用SELECTEDVALUE。相反,您也可以使用MIN('Date'[Date])and MAX('Date'[Date])


推荐阅读