powerbi - PowerBI 从使用由输入确定的截止日期和截止日期的数据集中选择数据
问题描述
我希望有人能把它捡起来,因为我以为我终于明白了……但我没有。我是 PowerBI 的新手,我通常是一名开发人员,但我正在努力扩大我的知识库......但失败了。
我创建了一个日期表,它来自一个已经有日期范围的表,以及我需要显示窗口开始和结束的其他列。但我想限制可以选择的日期。所以我这样做是为了获得6个月的范围......
CTF_Dates =
var __now = NOW()
var __year = IF(MONTH(__now) < 3, YEAR(__now) - 1, YEAR(__now))
var __month = IF(MONTH(__now) < 3, MONTH(__now) + 9, MONTH(__now) - 3)
var __day = DAY(__now)
RETURN
DATESINPERIOD
(
'dim DateDimension'[Date],
DATE(__year,__month,__day),
6,
MONTH
)
我还创建了一个度量 SelectedDate
CTF_SelectedDate =
IF(
SELECTEDVALUE(CTF_Dates[CTF_Date]) = 0,
TODAY(),
SELECTEDVALUE(CTF_Dates[CTF_Date])
)
因此,如果没有选择日期,请使用 TODAY()。我还有其他一些我需要的措施
CTF_FirstDayOfDisplayMonthKey = LOOKUPVALUE('dim DateDimension'[FirstDayOfNextMonthKey],'dim DateDimension'[Date],CTF_Dates[CTF_SelectedDate])
CTF_LastDayOfDisplayMonthKey = LOOKUPVALUE('dim DateDimension'[LastDayOfMonthTwoAfterKey],'dim DateDimension'[Date],CTF_Dates[CTF_SelectedDate])
这些值显示 CTF_Dates 表中的日期键,如果我从我的数据表中引用它,则底部显示显示值,使用以下...
DisplayRecord =
var SelectDate = CTF_Dates[CTF_SelectedDate]
var BeginSelect = CTF_Dates[CTF_FirstDayOfDisplayMonthKey]
var EndSelect = CTF_Dates[CTF_LastDayOfDisplayMonthKey]
var SelectDateKey = CTF_Dates[CTF_SelectedDateKey]
RETURN
SelectDateKey
所以这正确地显示了我的期望,但这更多是靠运气而不是判断。但是,当我更改日期时。
参考日期仍然保持不变???
如何让 SELECTEDVALUE 与数据表一起使用。我没有在表之间建立任何关系,因为输入的日期是从具有从和到日期范围的数据表中选择记录。我希望用下面的代码来做
DisplaySelectedRecord =
var SelectDateKey = CTF_Dates[CTF_SelectedDateKey]
RETURN
if (
VALUE('dateTable'[MinImportDate]) <= VALUE(SelectDateKey) &&
VALUE('dataTable'[MaxImportDate]) >= VALUE(SelectDateKey)
,"Y","N"
)
由于我仍在研究这个问题,我找到了一种更简洁的方法来获取数据的子集......这仍然不起作用。但我确实喜欢这种方法。因此,我发现我也可以用结果制作一个表格,而不是将 DislaySelectedRecord 作为一列。
DisplayRecords =
FILTER (
'datatable',
VALUE('dateTable'[MinImportDate]) <= VALUE(SelectDateKey) &&
VALUE('dataTable'[MaxImportDate]) >= VALUE(SelectDateKey)
)
但结果还是一样,它只适用于今天的日期,只要我能理解为什么 SELECTEDVALUE 不起作用,它仍然是一个问题。