Powerbi Power BI-为日期1、日期2、日期n添加列/筛选器,其中n是两个日期之间的天数
为了解释我的问题,请看下面我的模式摘录Powerbi Power BI-为日期1、日期2、日期n添加列/筛选器,其中n是两个日期之间的天数,powerbi,Powerbi,为了解释我的问题,请看下面我的模式摘录 ID STATE START_DATE_PACK END_DATE_PACK PACK CLOSE DATE 10539395 O 10/10/2019 20/10/2019 A1 10564163 O 10/10/2019 20/10/2019 A1 10564181 O 10/10/2019 20/10/201
ID STATE START_DATE_PACK END_DATE_PACK PACK CLOSE DATE
10539395 O 10/10/2019 20/10/2019 A1
10564163 O 10/10/2019 20/10/2019 A1
10564181 O 10/10/2019 20/10/2019 A1
10564574 C 10/10/2019 20/10/2019 A1 12/10/2019
10564578 C 10/10/2019 20/10/2019 A1 12/10/2019
10564580 C 10/10/2019 20/10/2019 A1 13/10/2019
10565048 C 10/10/2019 20/10/2019 A1 14/10/2019
10565069 C 10/10/2019 20/10/2019 A1 15/10/2019
我想要的是显示每天进度(开始日期和结束日期之间)的图表
在excel中,它可能是简单的堆叠图表,但在Power BI中,我很难做到这一点。注:我有数百个包,因此需要一些动态的方式来包装
10月16日更新
这是我的桌子
ID STATE START_DATE_PACK END_DATE_PACK PACK CLOSE DATE Column NEW.DAYS_ON_CHECK_COUNT Column 2
10539395 O 10/10/2019 20/10/2019 A1 Open DAY 8
10564163 O 10/10/2019 20/10/2019 A1 Open DAY 8
10564181 O 10/10/2019 20/10/2019 A1 Open DAY 8
10564574 C 10/10/2019 20/10/2019 A1 12/10/2019 Closed DAY 2 8
10564578 C 10/10/2019 20/10/2019 A1 12/10/2019 Closed DAY 2 8
10564580 C 10/10/2019 20/10/2019 A1 13/10/2019 Closed DAY 3 8
10565048 C 10/10/2019 20/10/2019 A1 14/10/2019 Closed DAY 4 8
10565069 C 10/10/2019 20/10/2019 A1 15/10/2019 Closed DAY 5 8
其中:
Column = IF(ISBLANK(Sheet1[CLOSE DATE]), "Open", "Close")
NEW.DAYS_ON_CHECK_COUNT =
VAR _days = DATEDIFF(Sheet1[START_DATE_PACK],Sheet1[CLOSE DATE], DAY)
RETURN "DAY " & _days
Column 2 = COUNTROWS(Sheet1)
我的图表快到了
仍然不能作为每天所有和关闭的比率工作。有什么想法吗?从您的数据中,您需要添加一列可以用作图例 如果这是直接从表中获取的模式,则可以在Power Query或Dax中执行 在Power Query中添加自定义列
if [Close Date] = "" Then "Open" else "Close"
在DAX中,您还可以使用逻辑添加自定义列
Column = IF(ISBLANK('tablename'[Close Date]), "Open", Close")
然后,您可以将其拖动为图例,将“开始日期”作为值,并将其聚合为count,或者使用count('tablename'[StartDate])创建一个新的度量值,该度量值也应该这样做
希望有帮助
更新:
您的示例显示了正确的分割,我认为您需要将未结项分配到天数
NEW.DAYS_ON_CHECK_COUNT =
VAR dateCheck = IF(ISBLANK('Sheet1'[CLOSE DATE]), TODAY(), 'Sheet1'[CLOSE DATE])
VAR _days = DATEDIFF(Sheet1[START_DATE_PACK],dateCheck , DAY)
RETURN "DAY " & _days
这应该将打开的项目设置为从开始日期到今天的打开天数,因此这些项目应显示为“第6天”,如果不关闭,明天将显示为“第7天”。您是否尝试过使用另一种可视化“100%堆叠柱形图”? 这将有100%的图表选项,如您的打开和关闭 希望这就是你想要的。让我知道你怎么样了
我首先创建一个Days表,包含两列: 日期标签如第1天、第2天 日期差异例如0、1、 实现图表示例可能需要10行—您可能需要为其他场景创建额外的行。最简单的方法是使用Enter Data,可能还有更优雅的选择 在模型(图表)视图中,天表应与其他表保持断开连接。我会将天数标签的排序列设置为天数列 接下来,我将创建一个新的状态表,在状态列中显示打开和关闭的值。同样,此表在模型中保持断开连接 我要创建的最后一个断开连接的表是日期,例如使用CALENDARAUTO功能 接下来,我将创建一个度量来计算每个断开连接的表行组合的相关行,例如
Daily Count =
VAR vStart_Date =
MIN ( Dates[Date] )
VAR vEnd_Date =
MAX ( Dates[Date] )
RETURN
SUMX (
CROSSJOIN ( Sheet1, Days, Dates, Statuses ),
SWITCH (
TRUE,
[Date] < vStart_Date, BLANK (),
[Date] > vEnd_Date, BLANK (),
[Date] < [START_DATE_PACK], BLANK (),
[Date] > [END_DATE_PACK], BLANK (),
DATEDIFF ( vStart_Date, [Date], DAY ) <> [Day Datediff], BLANK (),
[Status] = "Open"
&& [STATE] = "C" && [Date] > [CLOSE DATE] , BLANK (),
[Status] = "Closed"
&& [STATE] = "O", BLANK (),
[Status] = "Closed"
&& [Date] <= [CLOSE DATE] , BLANK (),
1
)
)
每日计数=
VAR vStart_日期=
最小值(日期[日期])
VAR卖方日期=
最大值(日期[日期])
返回
萨姆克斯(
交叉连接(表1、日期、状态),
开关(
是的,
[日期]供应商日期,空白(),
[日期]<[开始日期包],空白(),
[日期]>[结束日期包],空白(),
DATEDIFF(vStart_Date,[Date],DAY)[DAY DATEDIFF],空白(),
[状态]=“打开”
&&[STATE]=“C”&&[Date]>[CLOSE Date],空白(),
[状态]=“已关闭”
&&[状态]=“O”,空白(),
[状态]=“已关闭”
&&[日期]我已经更新了我的答案,请检查并接受它是否是正确的结果@Jonee,但它显示的是相同的。仍然缺少总值。图表应该总是有8个,并在未清项中看到递减。@Jonee就在那里。我想我需要另一个计数,即计数打开+计数唯一关闭日期?每天的进度是累积的吗其他几天的总数?或者每天完成多少?