首页 > 解决方案 > 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 不起作用,它仍然是一个问题。

标签: powerbipowerbi-desktoppower-bi-report-server

解决方案


推荐阅读