【问题标题】:Change the data type of a column that contains text and number in Power BI Query在 Power BI Query 中更改包含文本和数字的列的数据类型
【发布时间】:2022-03-14 17:06:10
【问题描述】:

我正在为一个简单的数据类型更改而苦苦挣扎。 我有一列同时包含文本(字符串)和数字。此列是根据一个简单的公式计算得出的。文本和数字都很重要,所以我需要将它们放在同一列中。

我想做的只是减少数字的小数位数。不幸的是,我不能这样做,因为数据类型是“任何”。如果我将数据类型更改为“十进制数”,则文本值会显示错误。

有没有办法以某种方式仅更改数字值的数据类型而不影响文本?还是只是为了减少数字的小数位数?

附上一张目前情况的图片:显示的数字只是减法的结果。

感谢您的帮助!

https://ibb.co/C7yFH5F

【问题讨论】:

  • 您能否指定您从何处获取数据?在将数据导入 Power BI 之前,是否可以在源端区分数据?
  • 数据来自 MySQL 服务器。它采用日期/时间格式。我做的减法结果是一个数值,但是当我把这个结果放在图表中时,它显示为一个小数太多的数字。在导入 Power BI 之前,我无法访问源并在那里进行更改。
  • 好的,我明白了。您可以尝试使用 Text 函数将列格式化为文本,例如:Text(myField,"xxx.00")
  • 谢谢,但格式类型不起作用。它返回一个错误。

标签: types powerbi decimal powerquery complex-data-types


【解决方案1】:

您可以使用 Extract 功能(它位于 UI 中的 Transform>Extract 下),并提供一系列字符。如果没有文本单元格的字符多于提供的范围,这将起作用。 它生成以下代码:

= Table.TransformColumns(#"Previous Step", {{#"Your Column", each Text.Middle(_, 0, 12), type text}})

在这种情况下,我从 0 插入到 12。 它并不优雅,但可能适用于您的特定情况。

【讨论】:

  • 谢谢,但仍然没有工作。现在的问题是它无法区分天数和小时数。简而言之,我只想有一个显示剩余天数的列。此列是 Duration 格式,但是当我将其转换为数字时,Power Query 中的数字是正确的。当我将它们添加到图表中时,它们会显示其他内容。
  • 很高兴我们能提供帮助。
【解决方案2】:

好的。我最终设法做到了。我只是将结果作为文本创建了其他列,然后使用 LEFT(T​​ext;"X") 创建了另一个列。它以合理的方式显示数字,它也是正确的。非常感谢您的帮助!它无疑将我推向了正确的道路。

【讨论】:

    【解决方案3】:

    您需要使用转换您的数字的公式创建一个新列。为避免文本行出现错误,您必须使用错误跟踪功能。

    try otherwise
    

    在单词“try”之后是从列中转换数字的功能。在“否则”之后的列没有转换

    【讨论】:

    • 感谢您的建议!我已经找到了另一种改变它的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-05
    • 1970-01-01
    • 2022-11-21
    • 2020-07-18
    • 1970-01-01
    • 2019-04-17
    相关资源
    最近更新 更多