我已经使用这个公式直到测量到的讨论区X_WGS84_blank和Y_WGS84_blank
X_WGS84_blank = IF(Punkter[X_WGS84]="";BLANK();VALUES(Punkter[X_WGS84]))
(对于Y_WGS84_Blank相同的论坛)
Punkter [X_WGS84]的数据类型为“十进制数”,常规格式和数据类别“纬度”。
我收到错误消息
DAX不支持将integer类型的值与text类型的值进行比较...
我尝试使用值插入的值,没有任何更改。
希望可以有人帮帮我
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
看起来你是在使用某种数据分析或电子表格软件(如Excel或Power BI)中的DAX公式来处理地理坐标数据。错误信息提示的是数据类型不匹配问题,即尝试将整数类型(integer)的值与文本类型(text)的值进行比较或运算,而DAX(Data Analysis Expressions)不支持这种操作。
根据你的描述,Punkter[X_WGS84]
字段的数据类型是“十进制数”,但错误消息却提到了整数类型和文本类型,这可能是因为实际数据中包含了非预期的数据类型,或者在公式执行过程中出现了类型转换的问题。
为了解决这个问题,你可以尝试以下几种方法:
数据清洗:首先检查Punkter[X_WGS84]
列的数据,确保所有数据都是统一的十进制数值格式,没有混合文本或其他类型的数据。可以使用筛选或条件格式来识别并修正不一致的数据。
显式转换:在公式中明确地将字段转换为所需的类型。如果你确定所有有效数据都应该是十进制数,可以在公式中加入转换函数。例如,使用VALUE()
函数尝试将文本转换为数字,或者直接指定为十进制类型,但请注意VALUE()
仅适用于文本格式的数字。如果已经确认是十进制数类型,这一步可能不是必要的,但这里提供一个示例思路:
X_WGS84_blank = IF(ISBLANK(Punkter[X_WGS84]); BLANK(); Punkter[X_WGS84])
这里我简化了你的公式,并假设Punkter[X_WGS84]
已经是正确的数值类型,不需要额外的VALUES
函数调用。ISBLANK
用于检查是否为空,相比直接比较字符串更合适。
错误处理:如果数据集中确实存在无法直接转换的非数值文本,可以使用TRY
函数来避免整个公式因为单个错误值而失败。这样即使遇到不能转换的值,也能让公式继续执行。
X_WGS84_blank =
TRY(
IF(ISBLANK(Punkter[X_WGS84]); BLANK(); Punkter[X_WGS84]);
BLANK() // 如果转换失败,则返回空白
)
请根据实际情况调整上述建议。如果问题依然存在,可能需要更详细地检查数据源的具体情况。