如何将 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
“我转行做测试的这一年多,月薪3K变成了15K”,测试的自白
凡人修仙传!大专毕业3年,我从月薪3k的码农变成大厂的Java架构师!