【问题标题】:Column with different data types in Power BIPower BI 中具有不同数据类型的列
【发布时间】:2021-08-22 14:33:18
【问题描述】:

如果可能的话,我需要你的支持..

目前在我的数据集中有一个表“SUM”,如下所示,其中“Jan”和“Feb”列包含十进制和整数数据类型。

是否可以将整数的一部分转换为货币,而将另一部分转换为小数点后 2 位的小数?

求和表


title Jan Feb
New users 80 90
users 200 150
BV 74562.62 82617.93
Charge 0.063629 0.061740
______________________________________

想要的输出


title Jan Feb
New users 80 90
users 200 150
BV $745,626 $826,179
Charge 0.06 0.06
______________________________________

我认为在 Power BI 中,一列只有一种数据类型。

有什么方法可以达到想要的输出吗?

提前致谢

【问题讨论】:

  • 您需要重新构建数据结构。在适当的数据模型中,不存在同一列中的不同数据类型之类的东西。建议使用 DAX 解决问题的答案将带您走向非常错误的方向。 Power BI 需要适当的星型架构:en.wikipedia.org/wiki/Star_schema

标签: powerbi powerbi-desktop


【解决方案1】:

最好将您的数据结构化为可用于例如更改数据类型和创建度量的格式。

在此示例中,使用查询编辑器,您需要先将 Jan/Feb 列从列取消透视到行

使用 unpivot 它变成这样:

然后您需要将数据透视到标题上,选择列“标题”透视上一步中创建的值列

现在,您可以更正格式、创建度量并更好地按月映射,而在创建度量时无需复杂的 DAX 格式

【讨论】:

    【解决方案2】:

    要在一列中显示多个数据类型,您需要为准备显示的每个月添加新的度量值,如果有帮助则接受答案:)

    这是Jan 的dax 公式,如果需要,您可能需要计算Feb

    Measure = IF(SELECTEDVALUE(Sheet1[title])="BV",FORMAT(SUM(Sheet1[Jan]),"Currency"),
                 IF(SELECTEDVALUE(Sheet1[title])="Charge",FIXED(SUM(Sheet1[Jan]),2),
                       FORMAT(SUM(Sheet1[Jan]),"General Number")))
    

    通过在桌子上显示measure,你会得到结果:

    【讨论】:

      【解决方案3】:

      要在表中显示不同的数据类型,您可以使用以下 DAX 为 Feb 列创建度量,您也可以对其他列执行相同操作。

          Measure = 
          VAR VAL = SUMMARIZE('Table','Table'[Feb])
          RETURN SWITCH( SELECTEDVALUE('Table'[Title]), 
                       "Users", FORMAT(VAL, "0"),
                       "BV", FORMAT(VAL, "$0"),
                       "Charge", FORMAT(VAL, "0.00"),
                       "New Users", FORMAT(VAL , "0")
                      )
      

      【讨论】:

      • 这个解决方案对我有用。但是,如果在“标题”列中有大量数据(例如“New Charge”、“New BV”等),则会导致某些数据(例如“New BV”)不显示(出现空白)。我检查了我的代码,它是正确的,没有错误。我正在寻找它,但我不知道发生了什么。
      • 你能把你的代码贴在这里吗?这可能是由于一些不正确的数据类型实现。发生在我的标题列中有Charge,所以我检查并确保它是正确的数据类型。
      • 好的,这是我的代码:Measure = VAR VAL = SUMMARIZE ('SUM','SUM'[Jan]) RETURN SWITCH(SELECTEDVALUE('SUM'[title]), "BV", FORMAT (VAL,"$0"), "费用", FORMAT(VAL,"0.00"), "新用户", FORMAT(VAL,"0"), "用户", FORMAT(VAL,"0"), "新BV", FORMAT(VAL,"$0"), "新收费", FORMAT(VAL,"0.00"))
      猜你喜欢
      • 2021-08-20
      • 1970-01-01
      • 2021-06-09
      • 1970-01-01
      • 1970-01-01
      • 2022-12-19
      • 2015-07-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多