如何使用 power bi 获取给定月份的有效租金详细信息

How to get active rent's details for given month using power bi

我想在 power bi 中显示给定月份的有效租金详细信息。我有一个 table,其中有租金详细信息。在那个 table 中,我有开始日期、结束日期和几个月。因此,当我 select 一个月使用 power bi visual 时,我想显示当前使用 power bi

的租金是多少

例子

房子A 1.1.2019 31.12.2019 12 屋 B 1.2.2019 31.05.2019 03 C楼 1.4.2019 31.12.2019 08

如果我select月6月结果应该是House A和House C,如果我select3月结果应该是All three (A, B, C)

有人可以帮我用 power bi 吗?

请在这里找到我的解决方案 - (https://app.powerbi.com/groups/me/reports/b12bf4b6-14f1-41e1-9bf9-832509dce3e9?ctid=8ac0e5ca-0835-4daf-af23-c940683adbef)

我使用上述解决方案得到 table。我需要将 subscription_id 与其他 table 匹配并获取数据,但目前不允许。任何解决方案

假设您在一个名为 'Rentals'

的 table 中拥有数据

出租 table 包含以下信息(但不限于):

[位置] | [Rent_Start] | [Rent_End]

第一步:

创建日历 table:

SELECTCOLUMNS(
    GENERATESERIES(
        MIN(Rentals[Rent_Start]);
        MAX(Rentals[Rent_End])
    );
    "Date"; [Value]
)

向您的日历添加两个计算列 table [月份名称] 和 [月份编号]

第 2 步: 将租赁 table 与新 table 中的日历交叉连接,添加一个标志列,指示该位置是否在使用中。在未使用位置时过滤行,select 您实际需要的列:

RunningTime = 
SELECTCOLUMNS(
    FILTER(
        ADDCOLUMNS(
            CROSSJOIN(Rentals; Calendar);
            "In_Use";
            IF([Date] >= [Rent_Start] && [Date] <= [Rent_End]; 1; blank() )
        );
        [In_Use] = 1
    );
    "Location"; [Location];
    "Start"; [Rent_Start];
    "End"; [Rent_End];
    "Date"; [Date]
)

第 3 步:在 Calendar[Date] 和 RunningTime[Date] 列之间创建 1:* 关系。现在,您可以使用月份名称从日历创建一个切片器,并且在带有 RunningTime[Location] 的可视化 table 中,当 select 某个月份时,您看不到正在使用的位置。

(需要月份编号才能按 "correct" 顺序而不是按字母顺序对 [月份名称] 进行排序)

编辑 1: 让我们看看,据我所知,我认为我的代码可以满足您的需求。如果以下说明对您不起作用,请通过上传您的模型(或其示例)回复我。另外,不确定使用中的房屋和总入住率之间的区别是什么意思。

据我从你的图片和文字中可以看出,我的 [Rent_Start] 和 [Rent_End] 对应于你的列 [start_date] 和 [end_date],均为日期时间格式。所以我看不出问题是什么?

如果你只想知道有多少房子在使用,那么你需要这个测量:

Houses in use = 
DISTINCTCOUNT('RunningTime'[Location])

我的解决方案需要这三列,但您可以拥有更多。

然后我得到一个新的 table,看起来像这样:

这个新的 table 像这样链接到日历:

然后在视觉 table 中,我使用 "RunningTime" table 中的 [Location]、[Start] 和 [End] 列。然后我根据日历 table 中的 Month_Name 创建了一个切片器,就像这样(注意:这张图片中没有月份被 select 编辑):

如果我现在 select 一月份,我会得到以下信息:

如果我 select 三月,我得到以下信息: