kpi
15 TopicsStretch targets that total to KPI
I'm trying to share KPI figures with my business around workforce %. So what % of the business is considered talent or has had a promotion etc. We have an overall business target of, lets say, 25% of the workforce is .... In simple terms The business has 1000 people There are 10 departments with 100 people in each Each department has 10 teams with 10 people in each So 2.5 in each team should be... Rolled up in a visual this means 250 people to achieve target. What I would like to do is stretch this so each department has a target of 30% but when displayed in a visual the overall target shows as 25%. So should a team miss the KPI they are looking at by a small margin, business still achieves target. However, I always want the business target to remain at 25% and report performance against that. Link below to example file https://we.tl/t-zFnnbbfFm5 Would hope to achieve this with DAX and would want to apply to range of visuals (most likely bar/line/matrix/card) I will have all the data in a table with raw values for total heads and count to calculate the perctages, 1 row per team. Any ideas on how to achieve this?Solved1.2KViews0likes4CommentsKPI based on previous
I want to calculate with a DAX formula the Target of my KPI based on the filter of the date of the same month, but of the previous year and multiply by 2. FOR EXAMPLE, if I have in January 2020 count a total number of 100 for YourTable[date] as the number of rows (i.e. count the total number of rows of the YourTable[date] column corresponding to the period January 2020), then my Target for January 2021 should return 200. If I have in 2020-01-01, 1000 as the number of rows of YourTable[date], then this should return me 2000 for 2021-01-01, as my Target. So, each time, my Target must take into account the number of rows for the same period and multiply it by 2. I use a Slicer to filter my dates. So, if I just select 2019 as the year and it returns 10000 as the number of rows, then my target should return 20000.830Views0likes3CommentsKPI - Red if 3 month in a row
I have data about project progress. I am trying to make a KPI for project that allows project to be yellow or red for max 3 month. After that I want a column to counts 1. Columns I got: "Projectid": The uniq ID for projects (Hidden of cause) "Status": 1 if green, 2 if yellow, 3 if red "Count of Red": 1 if red else 0 "Count of Yellow" 1 if yellow else 0 "Count of Green" 1 if green else 0 "Month" and "Year - month": The same month apear once for each project. The tabel register the given status for each month (Look at the picture):404Views0likes2CommentsRename values in a measure and use it as a row in matrix
Hello, I work on Power BI with Direct DB Connexion. I wanted to just rename values contaned in a column, and display it in a matrix as a row. For a translation for example. SPA = If selectedvalue(ENG)= "Flower", "Flores In a table, it works: ENG | SPA | Number Flowers | Flores | 18 But it does not allow me to use SPA as a row in a matrix. Can I get it to work somehow?Solved1.4KViews0likes4CommentsHow to organize and calculate standard SLA/KPI's but based on customer specific targets.
Hello. I have several SLA's i need to report on for our customers but with varying target. As an Example: Number of tickets started within response time based on customers SLA Number of tickets NOT started withing response time based on customers SLA Tables i have today: Ticket table (all information and values on each ticket) Customer table (linked to ticket table trough Contact person) My problem is twofold. How can i do a count of values in Ticket Table where Responsetime is within the defined target by checking a value from another table. How should i organize the tablestructure to get a good structure. My initial idea for structure was to eighter create one collumn for each KPItarget in the Customertable or create a specific KPI target table with columns for each KPItarget and customerid. Any suggestions and examples on how you have solved similar challenges are very welcome.Solved1.2KViews0likes1CommentMultiple KPI Calculations over a KPI Table - options for fast performance
Hello! I have to calculate multiple KPI's based on a KPI table that relates to a transactional table with amounts (over 800k recods, with AC FC PL PY switch, and MTD/YTD and Currency Switches). Basically each KPI refers to a group of transactions, at the same tome they can have various calculations conditions (eg. filtering other dimensions). I tried various options but not able to get the performance i would expect. Right now the best option is to use SUMX over the KPI table and SWITCH on each encounter of a KPI and apply the formula. The KPI formulas are calculations between the KPI's themself (eg DIVIDE(KPI_A,KPI_C). Is there a better way to approach this situation and have a better DAX logic for the measure(s) that will also provide fast percormance? I tried with multiple calculate and switch measures, but performance is worse. Current performance of measure using a matrix visual in PowerBI (query extracted and runed in DAX Studio): Below current measure I use: MEASURE ' Measures'[__mCalculateKPIGroups] = VAR __vReturn = SUMX ( //Filter KPI table for Management P&L Hierarchies FILTER('KPI Groups',SELECTEDVALUE ('KPI Groups'[LEV1_Name]) = "AAA" || SELECTEDVALUE ('KPI Groups'[LEV2_Name])="BBB"), //Get row context VAR __vKPI_ID = 'KPI Groups'[KPIGroup_SID] VAR __vKPI_LEV3_NAME = 'KPI Groups'[LEV3_Name] VAR __vKPI_LEV2_NAME = 'KPI Groups'[LEV2_Name] VAR __vKPI_LEV1_NAME = 'KPI Groups'[LEV1_Name] //Get additional attributes VAR __vGetTimePeriod = SELECTEDVALUE ( 'Time Period Selector'[Period]) VAR __vGetKPI_Formula = LASTNONBLANK(SELECTCOLUMNS(RELATEDTABLE('KPI Groups Details'),"Formula",[Formula]),TRUE()) VAR __vGetDataType = SELECTEDVALUE('Data Type'[Data Type]) //Filtering conditions VAR __vFilterCondCATDefault = {"a","b","c"} VAR __vFilterCondCATINPL = "z" VAR __vFilterCondCATINAC = "x" VAR __vFilterCondCATFT_PL = "y" VAR __vFilterIA = FILTER(VALUES('ID'[DEP]),NOT('ID'[DEP]=BLANK())) VAR __vFilterID = FILTER(VALUES('ID'[DEP]),'ID'[DEP]=BLANK()) VAR __vFilterOU = FILTER(VALUES('OA'[NAME]),NOT([NAME] IN {BLANK(),"INF"})) VAR __vFilterCATDefault = FILTER(VALUES('Category'[Category]),[Category] IN __vFilterCondCATDefault) VAR __vFilterCATINPL = FILTER(VALUES('Category'[Category]),[Category] = __vFilterCondCATINPL) VAR __vFilterCATINAC = FILTER(VALUES('Category'[Category]),[Category] = __vFilterCondCATINAC) VAR __vFilterCATFT_PL = FILTER(VALUES('Category'[Category]),[Category] = __vFilterCondCATFT_PL) VAR __vFilterACCFT_MTD = FILTER(VALUES('ACC'[ACC]),NOT(CONTAINSSTRING('ACC'[ACC],"AVG"))) VAR __vFilterACCFT_YTD = FILTER(VALUES('ACC'[ACC]), CONTAINSSTRING('ACC'[ACC],"AVG")) //Calculate KPI Groups VAR __vCalculateIN_AC = CALCULATE ([__mSwitchSign],__vFilterCATINAC,__vFilterIN) VAR __vCalculateIN_PL = CALCULATE ([__mSwitchSign],__vFilterCATINPL,__vFilterIN) VAR __vCalculateIN = IF(__vGetDataType IN {"PL"},__vCalculateIN_PL,__vCalculateIN_AC) VAR __vCalculateFT_MTD = CALCULATE(-[__mSwitchSign],__vFilterACCFT_MTD,__vFilterCATDefault ) VAR __vCalculateFT_YTD = CALCULATE(-[__mSwitchSign],__vFilterACCFT_YTD,__vFilterCATDefault) VAR __vCalculateFT = IF(__vGetTimePeriod = "MTD",__vCalculateFT_MTD,__vCalculateFT_YTD) //Switch Conditions for KPI Groups VAR __vSwitchOnINGroups_MN = __vKPI_LEV1_NAME="AAA" && __vKPI_LEV2_NAME="CCCCC" && __vGetDataType IN {"AC","PL"} VAR __vSwitchOnINGroups_TG = __vKPI_LEV1_NAME="AA" && __vKPI_LEV2_NAME="BBB" && AND(__vKPI_ID>=380,__vKPI_ID<=398) && __vGetDataType IN {"AC","PL"} VAR __vSwitchOnFT = CONTAINSSTRING(__vKPI_LEV3_NAME,"FT") VAR __vSwitchOnFT_IN = CONTAINSSTRING(__vKPI_LEV3_NAME,"FT*AD") || CONTAINSSTRING(__vKPI_LEV3_NAME,"FT*INT") VAR __vSwitchOnSignChange = CONTAINSSTRING(__vGetKPI_Formula,"-*{C,") && NOT(CONTAINSSTRING(__vGetKPI_Formula,"+")) && LEFT(__vGetKPI_Formula,1)="-" //Switch Conditions for KPI Formulas VAR __vSwitchOn_NRPS = __vKPI_LEV3_NAME="Net Revenue Professional Services" VAR __vSwitchOn_SoftNR = __vKPI_LEV3_NAME="Software NR of Total NR" VAR __vSwitchOn_ProdRATE = __vKPI_LEV3_NAME="Production Rate" VAR __vSwitchOn_UtilRATE = __vKPI_LEV3_NAME="Utilization Rate" VAR __vSwitchOn_NRPH = __vKPI_LEV3_NAME="Net Rate per Hour" VAR __vSwitchOn_SalCFS = __vKPI_LEV3_NAME="Salary of CFS FT p.m." VAR __vSwitchOn_EBIT_Margin = __vKPI_LEV3_NAME="EBIT margin % (pre investments)" VAR __vSwitchOn_EBITImpact = __vKPI_LEV3_NAME="Investments (EBIT impact)" VAR __vSwitchOn_EBITinv = __vKPI_LEV3_NAME="EBIT incl. Investments" //Calculate KPI's // [Net Revenue Professional Services] = [Net Revenues] - [Net Revenue Licenses, Revenue Licenses] - [Net Revenue Recurring Software, Revenue Recurring Software] - [Net Revenue Managed Services, Revenue Managed Services] VAR __vCalculateKPI_NRPS = CALCULATE([__mSwitchSign], REMOVEFILTERS('KPI Groups'),__vFilterIndustry,__vFilterOU,'KPI Groups'[LEV3_Name] = "Net Revenues") - CALCULATE([__mSwitchSign], REMOVEFILTERS('KPI Groups'),__vFilterIndustry,__vFilterOU, 'KPI Groups'[LEV3_Name] = "Net Revenue Licenses, Revenue Licenses") - CALCULATE([__mSwitchSign], REMOVEFILTERS('KPI Groups'),__vFilterIndustry,__vFilterOU, 'KPI Groups'[LEV3_Name] = "Net Revenue Recurring Software, Revenue Recurring Software") - CALCULATE([__mSwitchSign], REMOVEFILTERS('KPI Groups'),__vFilterIndustry,__vFilterOU, 'KPI Groups'[LEV3_Name] = "Net Revenue Managed Services, Revenue Managed Services") // [Production Rate] = [Net Available Hours - Professionals] / [Available Hours] VAR __vCalculateKPI_ProdRATE = DIVIDE(CALCULATE(-[__mSwitchSign], REMOVEFILTERS('KPI Groups'),__vFilterIndustry,__vFilterOU,'KPI Groups'[LEV3_Name] = "Net Available Hours - Professionals") , CALCULATE(-[__mSwitchSign], REMOVEFILTERS('KPI Groups'),__vFilterIndustry,__vFilterOU,'KPI Groups'[LEV3_Name] = "Available Hours")) // [Utilization Rate] = [Total Chargeable Hours] / [Net Available Hours - Professionals] VAR __vCalculateKPI_UtilRATE = DIVIDE(CALCULATE([__mSwitchSign], REMOVEFILTERS('KPI Groups'),__vFilterIndustry,__vFilterOU,'KPI Groups'[LEV3_Name] = "Total Chargeable Hours") , CALCULATE([__mSwitchSign], REMOVEFILTERS('KPI Groups'),__vFilterIndustry,__vFilterOU,'KPI Groups'[LEV3_Name] = "Net Available Hours - Professionals")) //Default calculation VAR __vCalculateDefault = CALCULATE([__mSwitchSign],__vFilterIndustry,__vFilterOU,__vFilterCATDefault) RETURN SWITCH(TRUE(), // Switch for IN Calculation __vSwitchOnINGroups_MN ,__vCalculateIN, __vSwitchOnINGroups_TG ,__vCalculateIN, // Switch for FT Calculation __vSwitchOnFT ,__vCalculateFT, // Switch for KPI Formulas Calculation __vSwitchOn_NRPS ,__vCalculateKPI_NRPS, __vSwitchOn_ProdRATE ,__vCalculateKPI_ProdRATE, __vSwitchOn_UtilRATE ,__vCalculateKPI_UtilRATE, __vSwitchOn_NRPH ,__vCalculateKPI_NRPH, // Change sign for special KPI's __vSwitchOnSignChange ,-__vCalculateDefault, // If no other conditions then return default calculation __vCalculateDefault ) ) RETURN SWITCH ( TRUE (), // Remove calc for levels 1 and 2 ISINSCOPE ( 'KPI Groups'[LEV3_Name] ) || ISFILTERED ( 'KPI Groups'[LEV3_Name] ), __vReturn, ISINSCOPE ( 'KPI Groups'[LEV2_Name] ) , BLANK(), ISINSCOPE ( 'KPI Groups'[LEV1_Name] ) , BLANK(), BLANK() )827Views0likes1CommentReg/green KPI (Probably) if data in not in the selected parameters.
Hello. Is there a command that can flag red if a value is <10 for example, and green if it`s over? I have a couple of fields (data from meter readings: Wh, power, cost, etc). I would like to create an "Issues" report to flag when any of them are not recording data or is not in the required range. Thank you for any help.Solved457Views0likes1CommentError in calculation of a KPI
Hi everyone! I'm currently having a weird issue. I've made the following parameters to create a KPI which does this: In one side you have last month avg sales $, calculated by the n of days from the last month: Promedio_Facturacion = SUM('Mes pasado'[FACTURACION])/DAY(ENDOFMONTH('Mes pasado'[FECHA])) Then you have the current month: Promedio Facturacion_act = SUM('Mes actual'[FACTURACION])/DAY(TODAY()) Then I have to calculate the percentage increase/decrease between those 2 numbers: vs Mes Anterior (Facturacion) = ([Promedio Facturacion_act] - 'Mes pasado'[Promedio_Facturacion])/'Mes pasado'[Promedio_Facturacion] Once I have that calculation, I've elaborated a KPI based on the following: KPI = IF([vs Mes Anterior (Facturacion)] <= -0.20, "CRITICO", IF([vs Mes Anterior (Facturacion)] <=-0.10, "ALERTA", IF([vs Mes Anterior (Facturacion)] < 0, "CUIDADO", "OK"))) Problem is that isn't working propperly, for example: First case is -0.7 which is critical, wrong since it has to count from -0.20. But what kills me is that 0.67 is Critical and 0.8 is OK. Its boggling me for sure. Do you have any tips for this? Thanks! UPDATE: I saw that what is causing this issue is that the KPI metric was made as a Column. When I transpose it as a Metric this error doesn't happen, but, you loose the opportunity of using the KPI as a filter for example. Furthermore, when the KPI is used as a column, since this query tracks transactions daily, what happens is that it issues an status for each transaction and, when data is resumed by unique ids, this status sum up displaying the most repetitive ocurrence, not the accorded one. I was thinking maybe a SUMMARIZE would help?956Views0likes3CommentsCompare this year to last year but only up to equivalent date to today
I've got two measures that count unique ID's. One for last year and one for this year look like this: YTD = TOTALYTD(COUNTA('Alerts (API)'[uid]), 'Alerts (API)'[date].[Date]) YTD last year = TOTALYTD(COUNTA('Alerts (API)'[uid]), SAMEPERIODLASTYEAR('Alerts (API)'[date].[Date])) These both give the correct values. However, the version for last year shows all future dates when visualised. For example, when I show the data in a KPI, the target value displays the sum for the whole of last year. What I want is the sum up to today's equivalent date for last year. I've tried filters for this but there's no way for me to filter dynamically. I don't want to have to come in every day and manually add a day.Solved726Views0likes2CommentsCount of weeks with positive percentages
Hello, I would like to identify number of weeks with positive percentage for KPI on material level. Base on time period selected I would be able to identify how many time KPI was in positive numbers. Please keep in mind my data are base on week dates. Thank you. And don't hesitate if you want more clear picture of what I want to achieve.Solved1.1KViews0likes3Comments