[英]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,則返回 1Amount
大於 10000 且Year
<2019,則返回 12 最后的“真”,因為它總是像一個ELSE
一樣返回true
無論如何,這將返回 1、2 或 3 的值
然后在指標屬性中,像這樣將每個指標的范圍設置為 1、2 或 3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.