PowerBI 需要帮助才能解决自定义 KPI 创建的多个查询

PowerBI Need Help to get resolve on multiple queries of Custom KPI creation

我正在研究 power-bi 并编写过去 2 个月的 dax 查询,并尝试创建自定义 kip,例如为不同类型的数据显示向上和向下箭头。

但面临多个问题。

我需要您的宝贵建议来解决这些问题。

示例数据:-

Q1:- 创建自定义 KPI 时无法显示向上和向下箭头的图像。

KPI 创建的衡量标准是,

PlanPrevMon = CALCULATE([PlanSum],PREVIOUSMONTH('Month Year'[Date]))

Measure = IF(ISBLANK([PlanSum]),"No Data Available ",[PlanSum])&" "&IF([PlanSum]=[PlanPrevMon],"",IF([PlanSum] > [PlanPrevMon],UNICHAR(8679),UNICHAR(8681))&IF([PlanSum]<=0,"",""))

这给了我完美的结果(如果有更好的方法,请建议我)。

但是当我尝试显示向上和向下图像箭头而不是单字符箭头时,它不起作用。

测量是:

Measure = IF(ISBLANK([PlanSum]),"No Data Available ",[PlanSum])&" "&IF([PlanSum]=[PlanPrevMon],"",IF([PlanSum] > [PlanPrevMon],"https://cdn3.iconfinder.com/data/icons/musthave/48/Stock%20Index%20Up.png","https://cdn3.iconfinder.com/data/icons/musthave/48/Stock%20Index%20Down.png")&IF([PlanSum]<=0,"",""))

输出为:-

我认为这里的图像 url 将其作为字符串,所以我无法获取图像的原因

如何获取图像 arrow.Or 还有其他方法吗?

Q2:- 相同的查询,但不适用于百分比值。

Table

用于计算预览月值

测量:-

Contri Prev Mon = CALCULATE([Contri%],PREVIOUSMONTH('Month Year'[Date]))

但值已更改为小数,如下图所示。

为什么我在这里得到小数的值。 如果我将 Contri% 更改为小数并执行其余查询,例如

ContriArrows = IF(ISBLANK([Contri%]),"No Data Available ",[Contri%])&" "&IF([Contri%]=[Contri Prev Mon],"",IF([Contri%] > [Contri Prev Mon],UNICHAR(8679),UNICHAR(8681))&IF([Contri%]<=0,"",""))

输出为

太完美了。

但与第一个问题相同,如果我包含向上和向下箭头图像 URL,它会给出与 q1 相同的输出(精确输出如第二张图像所示)

那么我怎样才能用 % 和向上和向下箭头显示值?

Q3:- 对于这个 contri% arrows kpi,我写了另一个计算列,

ContriKeys1 = SWITCH(
        TRUE(),
            [Contri Prev Mon]=BLANK(),"",
            [Contri%] <= 0,"",
            [Contri%] > [Contri Prev Mon],"https://cdn3.iconfinder.com/data/icons/musthave/48/Stock%20Index%20Up.png",
            [Contri%] < [Contri Prev Mon],"https://cdn3.iconfinder.com/data/icons/musthave/48/Stock%20Index%20Down.png",
            [Contri%] = [Contri Prev Mon],"")

但是它给了我错误的箭头符号,如下图所示。

为什么我在这里得到那些错误的箭头符号?

如有任何建议,我们将不胜感激。

谢谢,

兔子

这可能会有所帮助:我能够得到这个...

如果 PlanSum 大于 PlanPrevMon,则图标箭头指向上。 如果 PlanSum 小于 PlanPrevMon,则图标箭头指向下方。

顾名思义,LastIcon 箭头就是最后一个 Icon 箭头。 (我只是为了深入了解才包含它......我知道你实际上并不想那样展示它。)

卡片上的箭头也是LastIcon。

这是我的做法(摘自我之前对您的回答):

  1. 我添加了一个名为图标的列。

    Icon = if([PlanSum]>Sheet1[PlanPrevMon],"https://cdn3.iconfinder.com/data/icons/musthave/48/Stock%20Index%20Up.png",if(Sheet1[PlanSum]<Sheet1[PlanPrevMon],"https://cdn3.iconfinder.com/data/icons/musthave/48/Stock%20Index%20Down.png",""))
    
  2. 我添加了一个名为 Last Icon 的列。

    LastIcon = calculate(lastnonblank(Sheet1[Icon],1),FILTER(Sheet1,Sheet1[id]=max(Sheet1[id])))
    
  3. 我将数据类别更改为图像 URL。 <= 这很重要!

  4. 我在 table 视觉对象中添加了 Icon 和 LastIcon 列。

  5. 我添加了另一个 table 视觉对象,其中只有 LastIcon。

    • 然后我格式化 table 以隐藏列标题和该标题的 下划线。
    • 然后我将 table 移到了之前的卡片上。