新列,IF 语句未对措施执行正确的评估

问题描述 投票:0回答:1

我有一个包含大型数据集的 Power BI 报告。我对该数据集执行一些计算,创建度量。创建的度量是时间戳。

我从时间戳中提取了小时(hourhigh、hourlow)来评估一个 INT 是否大于另一个。此评估作为称为“有效”的新计算列来执行 hourhigh 和 hourlow 是衡量标准。

由于某种原因,我的评估(有效)失败了,我不明白为什么。它将每个标记为“好”,但这是不正确的。

小时最高

hourhigh = 
var h = HOUR([timestamp_high])
RETURN h

小时低

hourlow = 
var l = Hour([timestamp_low])
RETURN l

有效

valid = IF([hourhigh]> [hourlow],"Bad","Good")

我想要的输出是在每行的有效列中正确识别一个值是否高于另一个值,并将其标记为“好”或“坏”。

实际数据输出

+------------------+----------+--------------+-------------+------------------+------------------+----------+---------+-------+
|       Date       | deviceid | voltage_high | voltage_low |  timestamp_high  |  timestamp_low   | hourhigh | hourlow | valid |
+------------------+----------+--------------+-------------+------------------+------------------+----------+---------+-------+
| 01/11/2023 00:00 |       63 | 28.41        | 23.03       | 01/11/2023 22:42 | 01/11/2023 19:55 |       22 |      19 | Good  |
| 02/11/2023 00:00 |       63 | 28.43        | 22.89       | 02/11/2023 23:36 | 02/11/2023 20:41 |       23 |      20 | Good  |
| 03/11/2023 00:00 |       63 | 28.41        | 22.99       | 03/11/2023 23:07 | 03/11/2023 20:33 |       23 |      20 | Good  |
| 04/11/2023 00:00 |       63 | 26.93        | 22.41       | 04/11/2023 05:07 | 04/11/2023 23:54 |        5 |      23 | Good  |
| 05/11/2023 00:00 |       63 | 28.41        | 23.01       | 05/11/2023 23:22 | 05/11/2023 20:48 |       23 |      20 | Good  |
| 06/11/2023 00:00 |       63 | 27.01        | 22.55       | 06/11/2023 03:12 | 06/11/2023 23:50 |        3 |      23 | Good  |
| 07/11/2023 00:00 |       63 | 28.76        | 21.02       | 07/11/2023 19:16 | 07/11/2023 04:40 |       19 |       4 | Good  |
| 08/11/2023 00:00 |       63 | 28.41        | 22.95       | 08/11/2023 23:35 | 08/11/2023 20:51 |       23 |      20 | Good  |
| 09/11/2023 00:00 |       63 | 28.41        | 23.01       | 09/11/2023 23:53 | 09/11/2023 20:53 |       23 |      20 | Good  |
| 10/11/2023 00:00 |       63 | 28.51        | 23.08       | 10/11/2023 23:26 | 10/11/2023 20:56 |       23 |      20 | Good  |
| 11/11/2023 00:00 |       63 | 27.16        | 22.81       | 11/11/2023 01:26 | 11/11/2023 21:21 |        1 |      21 | Good  |
| 12/11/2023 00:00 |       63 | 28.13        | 22.26       | 12/11/2023 23:55 | 12/11/2023 21:44 |       23 |      21 | Good  |
| 13/11/2023 00:00 |       63 | 28.51        | 23.08       | 13/11/2023 05:47 | 13/11/2023 20:46 |        5 |      20 | Good  |
| 14/11/2023 00:00 |       63 | 28.17        | 22.65       | 14/11/2023 00:06 | 14/11/2023 20:51 |        0 |      20 | Good  |
| 15/11/2023 00:00 |       63 | 28.41        | 22.81       | 15/11/2023 23:43 | 15/11/2023 20:53 |       23 |      20 | Good  |
| 16/11/2023 00:00 |       63 | 28.41        | 22.92       | 16/11/2023 23:23 | 16/11/2023 20:43 |       23 |      20 | Good  |
| 17/11/2023 00:00 |       63 | 28.57        | 22.91       | 17/11/2023 23:24 | 17/11/2023 20:17 |       23 |      20 | Good  |
| 18/11/2023 00:00 |       63 | 27.54        | 22.76       | 18/11/2023 23:51 | 18/11/2023 22:39 |       23 |      22 | Good  |
| 19/11/2023 00:00 |       63 | 28.44        | 22.96       | 19/11/2023 01:31 | 19/11/2023 21:15 |        1 |      21 | Good  |
| 20/11/2023 00:00 |       63 | 28.41        | 22.75       | 20/11/2023 23:37 | 20/11/2023 20:55 |       23 |      20 | Good  |
| 21/11/2023 00:00 |       63 | 28.41        | 22.8        | 21/11/2023 23:33 | 21/11/2023 20:49 |       23 |      20 | Good  |
| 22/11/2023 00:00 |       63 | 28.41        | 22.7        | 22/11/2023 23:50 | 22/11/2023 20:40 |       23 |      20 | Good  |
| 23/11/2023 00:00 |       63 | 28.31        | 22.94       | 23/11/2023 23:27 | 23/11/2023 20:47 |       23 |      20 | Good  |
| 24/11/2023 00:00 |       63 | 28.25        | 22.82       | 24/11/2023 00:07 | 24/11/2023 20:27 |        0 |      20 | Good  |
| 25/11/2023 00:00 |       63 | 28.24        | 21.02       | 25/11/2023 23:58 | 25/11/2023 12:54 |       23 |      12 | Good  |
| 26/11/2023 00:00 |       63 | 28.44        | 22.7        | 26/11/2023 00:48 | 26/11/2023 20:45 |        0 |      20 | Good  |
| 27/11/2023 00:00 |       63 | 28.11        | 22.63       | 27/11/2023 23:44 | 27/11/2023 21:14 |       23 |      21 | Good  |
| 28/11/2023 00:00 |       63 | 28.52        | 22.83       | 28/11/2023 23:40 | 28/11/2023 20:44 |       23 |      20 | Good  |
| 29/11/2023 00:00 |       63 | 28.41        | 22.86       | 29/11/2023 23:34 | 29/11/2023 20:46 |       23 |      20 | Good  |
| 30/11/2023 00:00 |       63 | 28.36        | 22.8        | 30/11/2023 23:31 | 30/11/2023 20:31 |       23 |      20 | Good  |
+------------------+----------+--------------+-------------+------------------+------------------+----------+---------+-------+
powerbi dax powerbi-desktop calculated-columns measure
1个回答
0
投票

我认为您指的是度量而不是列。尝试更正为

hourhigh = 
var h = HOUR('Your Table'[timestamp_high])
RETURN h

顺便说一句,你的代码似乎非常适合我。

© www.soinside.com 2019 - 2024. All rights reserved.