我是Bi的新手,需要一些帮助来提取某个时间段内最频繁的值。下表是您可以看到下午1点到2点之间最频繁的值是E360,下午2点到3点之间最频繁的值是A178。请帮助我在Power BI中执行此操作。
item Timestamp
E360 03/11/2019 01:00:30
E360 03/11/2019 01:07:02
E360 03/11/2019 01:08:32
E360 03/11/2019 01:11:02
E360 03/11/2019 01:18:03
E360 03/11/2019 01:20:53
E360 03/11/2019 01:23:49
E360 03/11/2019 01:26:31
E360 03/11/2019 01:50:55
E360 03/11/2019 01:54:08
E360 03/11/2019 01:56:21
E360 03/11/2019 02:04:08
E360 03/11/2019 02:06:35
E360 03/11/2019 02:09:13
E360 03/11/2019 02:11:53
E360 03/11/2019 02:14:27
E360 03/11/2019 02:17:08
A178 03/11/2019 02:19:49
A178 03/11/2019 02:22:22
A178 03/11/2019 02:33:49
A178 03/11/2019 02:36:14
A178 03/11/2019 02:49:35
A178 03/11/2019 02:52:56
A178 03/11/2019 02:55:16
A178 03/11/2019 02:57:43
A178 03/11/2019 03:00:31
上面显示的数据是原始数据,我在Power BI中创建了另一个表。我正在尝试在该小时内添加具有最可能值的列。请帮助我做到这一点。
Timestamp StartTime Timestamp End Time Most probable Value
03/11/2019 01:00:00 03/11/2019 02:00:00 E360
03/11/2019 02:00:00 03/11/2019 03:00:00 A178
我想添加一个每小时可能值最高的列
答案 0 :(得分:1)
在Power BI中,您可以执行以下操作:
要么创建具有日期-小时分辨率的日历,然后在数据表中创建一个“日期-小时”计算列。或创建分辨率为1秒的日历(如果您的数据表包含很多天,则不建议这样做)
Calendar =
SELECTCOLUMNS(
CROSSJOIN(
CALENDAR(DATE(2019;3;1); DATE(2019;3;31));
GENERATESERIES(
0;
TIME(23;0;0);
TIME(1;0;0)
)
);
"dateTime"; [Date]& " " &[Value]
)
“数据”表中的计算列:
DateHour =
DATE(
YEAR(Data[dateTime]);
MONTH(Data[dateTime]);
DAY(Data[dateTime])
)& " " &
TIME(HOUR(Data[dateTime]); 0; 0)
在日历和新的日期-小时列之间创建一个关系。
然后添加以下措施:
MostProbableValue =
MINX (
TOPN (
1;
ADDCOLUMNS (
VALUES ( Data[item] );
"Frequency"; CALCULATE ( COUNT ( Data[item] ) )
);
[Frequency];
0
);
Data[item]
)
在“数据”表中添加第二个计算列:
Timestamp_EndTime = [DateHour]+Time(0; 59; 59)
然后,您可以通过拖动[DateHour],[Timestamp_EndTime]和MPV度量来创建可视表。将[DateHour]列重命名为Timestamp_Start],您将得到一个如下所示的表:
N.B:当您在表中写入数据时,将不清楚在哪个bin中带有准确时间戳为02:00:00的值(如果不是两次)。因此,上限为+ 59分钟59秒。如果仍然希望它看起来像您编写的表,则将计算的[Timestamp_EndTime]列改为+ TIME(1; 0; 0)。
此外,如果您知道数据表中每个时间戳只有一个单一值,那么您实际上不需要日历。
答案 1 :(得分:0)
__m128 _mm_permute_ps(__m128 a, int imm8);
__m256d _mm256_permute_pd(__m256d a, int imm8);
这将给您每个的计数。并以正确的顺序。现在,从该集合中排第一,您可以选择基于数据库引擎的各种技术。在SQL中排名第一。在oracle rownum <2中,依此类推,例如oracle将是
select item, count(*) cnt
from table
where <date time filter>
group by item
order by 2 desc