繁体   English   中英

Power BI:使用不相关的日期表创建度量

[英]Power BI: Use unrelated date table to create a measure

嗨,我已经为此苦苦挣扎了一段时间,希望我没有错过以前的问题。 我正在尝试根据 EOMONTH 日期计算我们拥有的车辆数量。 我们定期买卖汽车,为了报告,我们需要知道每个月底有多少辆汽车,报告是滚动的 12 个月。

我尝试创建与日期表日期的车辆购买日期的关系,但是当我创建度量时(用于计算已购买但尚未售出的车辆数量):

SalesBlank = CALCULATE(COUNT(Vehicles[MVANumber]), FILTER(Vehicles, Vehicles[purchasedate] <= RELATED('Date'[EOMONTH]) && ISBLANK(Vehicles[saledate])))

我只计算了当月购买的车辆数量并且没有销售日期——我并不感到惊讶,因为我与日期表的关系就是购买日期。

如何设置度量来查看日期表并使用以下逻辑过滤车辆表:购买 <= date[EOMONTH] && ISBLANK(salesdate)

任何帮助将不胜感激,! 谢谢,马特

样本数据和所需结果

关系

如果我理解正确的话,你想在每个月底对手头的车辆进行计数。 这可以通过计算购买日期小于或等于所选月末的车辆数并减去销售日期小于或等于所选月末的车辆数来计算。

您可以在 Vehicle[PurchaseDate] 和 Date[Date] 之间创建活动关系。 然后根据 Vehicles[SaleDate] 和 Date[Date] 创建一个非活动关系。

您可以使用类似这样的度量:

Inventory Count =
VAR MaxDate =
    MAX ( 'Date'[Date] )
VAR MinDate =
    CALCULATE ( MIN ( 'Date'[Date] ), ALL ( 'Date' ) )
VAR Purch =
    CALCULATE (
        COUNT ( 'Vehicles'[VehicleID] ),
        DATESBETWEEN ( 'Date'[Date], MinDate, MaxDate )
    )
VAR Sales =
    CALCULATE (
        COUNT ( 'Vehicles'[VehicleID] ),
        USERELATIONSHIP ( 'Date'[Date], Vehicles[Sale Date] ),
        DATESBETWEEN ( 'Date'[Date], MinDate, MaxDate )
    )
VAR MaxPurDt =
    CALCULATE ( MAX ( 'Vehicles'[Purchase Date] ), ALL ( 'Vehicles' ) )
VAR MaxSlDt =
    CALCULATE ( MAX ( 'Vehicles'[Sale Date] ), ALL ( 'Vehicles' ) )
RETURN
    IF (
        MIN ( 'Date'[Date] ) <= MaxPurDt
            || MIN ( 'Date'[Date] ) <= MaxSlDt,
        Purch - Sales
    )

此度量获取购买的累积计数和销售的累积计数,然后将它们减去。 IF 检查是为了避免累积总计传播超出 Vehicle 表中的最大日期。

我不确定如何解释您在预期结果中仅显示 3 个月。 这将产生与您所拥有的答案相同的答案,但没有对表格应用过滤器,它从 2016 年 3 月 31 日(首次销售日期)开始。

编辑:按照您的想法,可能有一种更有效的方法,但目前我是 escaping。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM