如何在 PowerBI 中编写此表达式
select distinct([date]),Temperature from Device47A8F where Temperature>25
Run Code Online (Sandbox Code Playgroud)
全新的 PowerBI。是否有任何工具可以将查询从 sql 更改为 PowerBI 表达式?
我尝试了很多类型的不同类型的表达式,但出现错误,大部分时间我都得到这个:
The expression refers to multiple columns. Multiple columns cannot be converted to a scalar value.
Run Code Online (Sandbox Code Playgroud)
需要帮助,谢谢。
在我发布我的答案后,想知道您的预期结果是否仅按温度获得一个日期,换句话说,您的结果集中没有重复的日期。
旁注: select distinct([date]),Temperature from Device47A8F where Temperature>25由于DISTINCT关键字评估SELECT语句中指定的不同列值,因此返回重复日期,即使您用括号将其括起来,它也不会返回特定列中的不同值。
现在是什么让我们来到这里。我在您的错误中看到的是,您试图table-valued在仅接受scalar-valued(仅计算一个值)的度量中使用(生成具有多列的表)表达式。
假设你有一张这样的表:
运行您的 SQL 查询,您将在黄色行中突出显示:
你可以看到01/09/2016日期是重复的。如果要创建一个measure,则必须定义要显示的温度计算。即,平均值、最大值或最小值等。
在下面的表达式中正在计算每个日期大于 25 的最高温度:
MaxTempGreaterThan25 =
CALCULATE ( MAX ( Device47A8F[Temperature] ), Device47A8F[Temperature] > 25 )
Run Code Online (Sandbox Code Playgroud)
在这种情况下,度量MaxTempGreaterThan25是按日期计算的。
如果您不想生成度量而是生成表格。在 Power BI 工具栏中选择Modeling选项卡并单击New Table图标。
使用这个表达式:
MyTemperatureTable =
FILTER ( Device47A8F, Device47A8F[Temperature] > 25 )
Run Code Online (Sandbox Code Playgroud)
它应该生成一个新表,名称MyTemperatureTable如下:
我建议您学习一些有关 DAX 的基础知识,它与SQL/完全不同,T-SQL并且根据您的模型和数据,有些事情您无法做到。
如果这有帮助,请告诉我。
| 归档时间: |
|
| 查看次数: |
1154 次 |
| 最近记录: |