如何将 4.1M 1.22B 3K 变成 power bi 中的数字

Posted

技术标签:

【中文标题】如何将 4.1M 1.22B 3K 变成 power bi 中的数字【英文标题】:How to turn 4.1M 1.22B 3K to numbers in power bi 【发布时间】:2021-12-27 06:18:03 【问题描述】:

我的数据编号以文本形式出现,例如:4.1M 1.22B 3K 有没有办法把它们变成像 4100000 for 4.1M 这样的数字

提前致谢

【问题讨论】:

我已尝试为您提供答案。但是,您并不清楚您的数据是否以文本开头,Power BI 会自动将其更改为简短版本。最好让阅读的人清楚这一点,因为我们不知道您的问题,现在我们只需要假设。 是的,你能用更多的描述解释你的问题吗? 感谢所有回复,实际上我收到的数据是简短的。当我将数据导入 powerbi 时,我无法将其视为数字。 您可以在查询编辑器中创建一个新列,在其中为所有情况创建 if/else 语句。我不确定它的所有语法,但我可以想象它类似于'if [column] contains "M" THEN LEFT([column],2) * 1000000 else if' 等等。 【参考方案1】:

如果您使用卡片可视化,您可以更改数以千计、数百万等的计数。这取决于可视化。

【讨论】:

也许最好解释一下这个功能是什么,在哪里可以找到它。这是模糊的,只会部分帮助 OP。此外,您忘记了未来的读者可能需要答案,最好尽可能多地写出来(不添加绒毛)。话虽如此,我仍然无法制定正确的答案,学习的唯一方法就是尝试,所以还是感谢您的回答! 当然,我的错。对此感到抱歉【参考方案2】:

您可以按照以下步骤操作:

    选择要更改此表示法的视觉对象 单击“可视化”窗格中的油漆滚筒 您已激活标签,展开此部分 在这里您可以选择如何显示值,选择您想要的任何内容

但请记住,大数字很难阅读,也很容易读错。值得考虑将它们保留为 4.1M 和 1.22B,因为它使它们保持美观和紧凑。如果您使用随时间增长的可视化效果尤其如此,如果您有写出的数字,则很容易出现重叠。

此外,请参阅 Microsoft 网站上的以下文档以获取说明: https://docs.microsoft.com/en-us/power-bi/visuals/power-bi-visualization-customize-title-background-and-legend

【讨论】:

【参考方案3】:

以下是如何在 Power Query 中清理数据的示例。有点麻烦,我个人会联系负责我数据源的人,询问是否可以得到更好格式的数据。

这个想法是首先弄清楚你想对每一行应用哪种类型的乘数,然后清除 Sample Value 列中的“外来”符号 - 这是使用 Character.FromNumber 的巧妙技巧生成的,请参阅链接:https://www.excelguru.ca/blog/2015/11/19/keep-only-numbers-in-power-query/)之后,只需将原始列转换为数字(可能必须根据您的语言环境删除#"Replaced Value" 步骤)并创建一个将数字乘以乘数的最终列。

您可以将以下内容粘贴到空白查询中以自己查看:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMtEz9FWK1YlWMtQzMnICs4y9IQLGSrGxAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [#"Sample Values" = _t]),
    #"Added Conditional Column" = Table.AddColumn(Source, "Custom", each if Text.Contains([Sample Values], "B") then Number.Power(10,9) else if Text.Contains([Sample Values], "M") then Number.Power(10,6) else if Text.Contains([Sample Values], "K") then Number.Power(10,3) else 1),
    CharsToRemove = List.Transform(33..45,47,58..126, each Character.FromNumber(_)),
    #"Added Custom" = Table.AddColumn(#"Added Conditional Column", "Result", each Text.Remove([Sample Values],CharsToRemove)),
    #"Replaced Value" = Table.ReplaceValue(#"Added Custom",".",",",Replacer.ReplaceText,"Result"),
    #"Changed Type" = Table.TransformColumnTypes(#"Replaced Value","Result", type number),
    #"Added Custom1" = Table.AddColumn(#"Changed Type", "Result Value", each [Result]*[Custom], type number),
    #"Removed Other Columns" = Table.SelectColumns(#"Added Custom1","Result Value")
in
    #"Removed Other Columns"

【讨论】:

以上是关于如何将 4.1M 1.22B 3K 变成 power bi 中的数字的主要内容,如果未能解决你的问题,请参考以下文章

使用 Sympy 生成 C 代码。将 Pow(x,2) 替换为 x*x

1.22训练赛 --ac2

“我转行做测试的这一年多,月薪3K变成了15K”,测试的自白

凡人修仙传!大专毕业3年,我从月薪3k的码农变成大厂的Java架构师!

凡人修仙传!大专毕业3年,我从月薪3k的码农变成大厂的Java架构师!

凡人修仙传!大专毕业3年,我从月薪3k的码农变成大厂的Java架构师!