Powerbi 如何创建“测量”的方法;SUMX";给定结束日期的值是否已更新?
对于给定的Powerbi 如何创建“测量”的方法;SUMX";给定结束日期的值是否已更新?,powerbi,dax,m,Powerbi,Dax,M,对于给定的结束日期,我很难创建一个度量来计算列持续时间(h)中值的总和 我有一个简单的表,如下所示: Events = DATATABLE ( "EventID"; INTEGER; "StartDate"; DATETIME; "EndDate"; DATETIME; "Interval"; INTEGER; "Duration (h)"; DOUBLE; { {1; "2018-01-01"; "2019-12-31"; 35
结束日期
,我很难创建一个度量来计算列持续时间(h)
中值的总和
我有一个简单的表,如下所示:
Events =
DATATABLE (
"EventID"; INTEGER;
"StartDate"; DATETIME;
"EndDate"; DATETIME;
"Interval"; INTEGER;
"Duration (h)"; DOUBLE;
{
{1; "2018-01-01"; "2019-12-31"; 35; 1,45 };
{2; "2019-02-14"; "2019-12-31"; 2; 0,05 };
{3; "2019-06-01"; "2019-07-01"; 1; 0,05 }
}
)
我已经创建了一个计算列,用于计算表中每一行的“总小时数”。我已经分两步完成了这项工作:
首先,我创建一个计算列:
Number of events in period =
DATEDIFF ( Events[StartDate]; Events[EndDate]; DAY ) / Events[Interval]
Total number of hours in period =
Events[Number of events in period] * Events[Duration (h)]
然后我创建另一个计算列:
Number of events in period =
DATEDIFF ( Events[StartDate]; Events[EndDate]; DAY ) / Events[Interval]
Total number of hours in period =
Events[Number of events in period] * Events[Duration (h)]
但是-我需要创建一个度量值,它计算上述内容,但对于给定的结束日期
如果给定日期超过此日期,则公式应使用现有的事件[EndDate]
像这样:
例如,给定2019-09-01的结束日期
:
{1; "2018-01-01"; "2019-12-31"; 35; 1,45 }; --use 2019-09-01
{2; "2019-02-14"; "2019-12-31"; 2; 0,05 }; --use 2019-09-01
{3; "2019-06-01"; "2019-07-01"; 1; 0,05 } --use 2019-07-01
我曾尝试使用SUMX函数,但我被卡住了
有人知道如何创建此度量吗
亲切问候,,
彼得我想这可能会满足你的需求:
Measure = var otherEndDate = Date(2019,09,01) return SUMX(Events, DATEDIFF ( Events[StartDate], if(Events[EndDate] > otherEndDate, otherEndDate, Events[EndDate]), DAY ) / Events[Interval] * Events[Duration (h)])
我设置了一个替换日期为2019-09-01的变量(otherEndDate),如果现有的EndDate超过它,则使用该变量。if语句处理替换。只需创建一个参数。寻找一些视频。这会对你有帮助的