我有一个简单的函数,它在SQL和PowerBI中返回两个不同的值.

以下是方程式:

1 - power(0.9240, exp((-0.2201*((71/10)-7.036))+(0.2467*(0-0.5642))-(0.5567*((60/5)-7.222))+(0.4510*(log(13.5)-5.137))))

在SQL中:

SELECT 1 - power(0.9240, exp((-0.2201*((71/10)-7.036))+(0.2467*(0-0.5642))-(0.5567*((60/5)-7.222))+(0.4510*(log(13.5)-5.137))))

在SQL中,我得到了正确的值0.0015,但在PowerBI中,我得到了 0.0007783428.

我需要在DAX表达式中进行哪些更改才能正确计算POWER()、EXP()和LOG()?

推荐答案

我总是建议不要进行从SQL到DAX的技术转换,以免陷入类似的情况.

结果的差异可能是由于每个环境处理数学计算的方式,特别是关于浮点运算的精度以及exp()、power()和log()函数的实现.

Result = 
1 - POWER(
    0.9240, 
    EXP(
        -0.2201 * ((71 / 10) - 7.036) + 
        0.2467 * (0 - 0.5642) - 
        0.5567 * ((60 / 5) - 7.222) + 
        0.4510 * (LN(13.5) - 5.137)
    )
)

enter image description here

Sql相关问答推荐

如何计算帐户在SQL中随着时间的推移购买的SKU数量?

查询将查找将标记设置为user2的用户

SQL查询以条件空值跟踪生产操作结果进展

如何从上一个值减go 值

SQL(PostgreSQL)从条件创建点表

SQL查询:合并2个表

出现5次后,将所有正斜杠替换为连字符

基于多个字段删除Access中的重复记录,同时保留最低优先级

分组多输出访问查询问题

雅典娜嵌套Json提取液

如何查找所提供日期范围的所有季度开始日期和结束日期

最近3个月收到的邮箱总数

将Dense_RANK列为聚合(非解析)函数(&A)

IF NOT EXISTS子查询的性能瓶颈

从单个表达式中的分隔字符串中取平均值

SQL 语句将一列中的值与另一列中的不同值相加,同时按第三列进行分组?

在Snowflake中,如何将以逗号和连字符分隔的多个混合数值拆分成数字列表

IN子句使用的表值用户定义函数参数

使用日期和间隔作为键加入 Athena 上的表?

聚合 Athena 中的列