powerbi - Power Bi 根据日期切片器选择重新计算商店的状态
问题描述
请先检查屏幕截图:
我很难根据日期切片器选择的第一个日期重新计算商店状态。为了简单起见,我有:date
桌子,store
桌子和order data
桌子。这个任务很棘手,因为我有 2 维表和 1 个事实表,并且已经有一个date
表连接到我order date
的事实表上。
但现在我需要将我的商店分为新旧商店,而且它必须是动态的:
对于每个切片器的选定时间段,目标是查看从切片器选择时间开始在给定年份期间首次订购日期的新商店。
例如:选择的日期是 2021 年 4 月,那么我需要查看所有新商店的第一个订单日期为 04/2020 和 04/2021,并且订单日期早于 2020 年 4 月的商店不再是新的,但是老的。如果我使用该计算带一个单独的事实表并建立关系 b/n 日期表,我将无法连接到我order date
需要的事实表。
解决方案
应该创建一个度量来使用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])
。
推荐阅读
- arcgis - 在 ArcGIS 或 QGIS 中,是否可以从包含时间戳的 CSV 文件中向 geotiff 添加时间戳?
- java - 为 Java.Util.Scanner 格式化正则表达式
- java - Java Singleton Class中的SonarQube漏洞--必须避免静态对象,移动到本地成员以避免全局状态
- java - 从列表中删除一个项目并返回该项目
- python - 使用 Python 和 Beautiful Soup 获取 IMDB 评分
- java - Java Swing 拼写检查器
- shiny - 在R中对数据框列进行排序
- javascript - React Redux 功能组件更新状态不起作用
- dart - 错误 Mixin:抽象类不能在 Dart 中实例化
- angular - Angular [ngClass] 将一行 if 语句转换为多个 if