簡體   English   中英

Power BI 報表生成器指標公式

[英]Power BI Report Builder Indicator Formula

我正在向 PBI 報告生成器報告中添加一個指標。 該指標基於數據集中的多個字段,因此我需要使用一個公式來創建三個向上/向下/側向箭頭。 以前在 Crystal Reports 中,這可以使用如下的一系列 IF 語句來實現。 以下示例是向下箭頭所需的內容。 (另外2個箭頭也有多重計算)

        IF (({spScorecard_SLView;1.CATEGORY_ID} = 4) OR 
       ({spScorecard_SLView;1.CATEGORY_ID} = 25)) THEN 
        IF ({spScorecard_SLView;1.PM_3MM_NC_CNT}-{spScorecard_SLView;1.3MM_NC_CNT}) < 
        0 THEN 'Down Arrow'

        ELSE IF (({spScorecard_SLView;1.CATEGORY_ID} = 21) 
        OR({spScorecard_SLView;1.CATEGORY_ID} = 26) OR 
        ({spScorecard_SLView;1.CATEGORY_ID} = 41)) THEN
        IF ({spScorecard_SLView;1.CM_TOTAL_CNT}> 0) AND 
        (({spScorecard_SLView;1.PM_3MM_TOTAL_CNT} = 0) OR 
        ({spScorecard_SLView;1.3MM_TOTAL_CNT} = 0)) AND 
        ({spScorecard_SLView;1.3MM_NC_CNT} > 0) AND 
        (((({spScorecard_SLView;1.3MM_TOTAL_CNT} - {spScorecard_SLView;1.3MM_NC_CNT}) 
        / {spScorecard_SLView;1.3MM_TOTAL_CNT}) * 100) >= 0.00) THEN 'Down Arrow' //

        ELSE IF ((((({spScorecard_SLView;1.3MM_TOTAL_CNT} - 
        {spScorecard_SLView;1.3MM_NC_CNT}) / {spScorecard_SLView;1.3MM_TOTAL_CNT}) * 
        100) -((({spScorecard_SLView;1.PM_3MM_TOTAL_CNT} - 
        {spScorecard_SLView;1.PM_3MM_NC_CNT}) / 
        {spScorecard_SLView;1.PM_3MM_TOTAL_CNT}) * 100))/100) < 0.00 THEN 
        'Down Arrow'

我被困在如何在 PBI 報告生成器中做類似的事情。 我是否應該在值和狀態下的值字段中創建一個公式,然后刪除指標狀態下的任何箭頭設置? 您可以在 IIf 語句中使用“向下箭頭”等創建公式嗎? 在值下選擇 1 個字段時,我只能獲取返回的指標數據,但我需要多個字段和條件。

在此處輸入圖片說明

SSRS 報告類似於 PBI 報告生成器,因此如果有任何使用它的示例可能會有所幫助。 我正在連接到 SQL Server 存儲過程以拉回數據。

感謝鼓風機

我會像這樣接近它......

在指標值中設置一個公式,以便返回與要顯示的箭頭相對應的數字(例如,返回 1、2 或 3)

你可以使用任何你覺得舒服的格式,但我建議使用SWITCH()函數而不是嵌套的IIF s。

例如,這會檢查兩個字段並返回三個值之一,(這只是一個隨機示例來說明這一點)

=SWITCH(
SUM(Fields!Amount.Value) >5000 AND Fields!Year.Value >2019, 1
, SUM(Fields!Amount.Value) >10000 AND Fields!Year.Value <2019, 2
, True, 3
)

Switch 接受成對的表達式和返回值。 它在遇到第一個計算結果為True表達式時返回該值。 所以這讀...

  • 如果合計Amount大於 5000 且Year >2019,則返回 1
  • 如果合計Amount大於 10000 且Year <2019,則返回 12
  • 否則返回 3

最后的“真”,因為它總是像一個ELSE一樣返回true

無論如何,這將返回 1、2 或 3 的值

然后在指標屬性中,像這樣將每個指標的范圍設置為 1、2 或 3

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM