Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Hi All,
I want to plot the first derivative d(I)/d(V) as my Y axis and V as my X axis.The below is my sample table .I am not sure how can I plot the first derivative of d(I)/d(v) vs V in a line chart. Is there any measure we can write to handle this?
I tried in excel but it didnt work (A4-A2)/(B4-B2) assuming A as V and B as I column. I got DIV error in excel. I am now trying in PBI, using any measures or calculated columns approach to calculate the first derivative for my V values ,can someone provide an approach?
My data source table is as below:-
V | I |
0.007 | 2.157 |
0.015 | 2.279 |
0.023 | 2.279 |
0.031 | 2.206 |
0.039 | 2.328 |
0.047 | 2.304 |
0.055 | 2.328 |
0.063 | 2.426 |
0.071 | 2.377 |
0.079 | 2.426 |
0.086 | 2.426 |
0.094 | 2.377 |
0.102 | 2.475 |
0.11 | 2.451 |
0.118 | 2.451 |
0.126 | 2.5 |
0.134 | 2.551 |
0.142 | 2.574 |
0.15 | 2.574 |
0.158 | 2.549 |
0.166 | 2.574 |
0.173 | 2.549 |
0.181 | 2.623 |
0.189 | 2.672 |
0.197 | 2.623 |
0.205 | 2.696 |
0.213 | 2.721 |
0.221 | 2.647 |
0.229 | 2.745 |
0.237 | 2.696 |
0.245 | 2.77 |
0.252 | 2.819 |
0.26 | 2.77 |
0.268 | 2.843 |
0.276 | 2.868 |
0.284 | 2.819 |
0.292 | 2.892 |
0.3 | 2.843 |
0.308 | 2.892 |
0.316 | 2.941 |
0.324 | 2.868 |
0.332 | 2.941 |
0.339 | 2.99 |
0.347 | 2.917 |
0.355 | 2.99 |
0.363 | 2.941 |
0.371 | 3.015 |
0.379 | 3.015 |
0.387 | 2.966 |
0.395 | 3.015 |
0.403 | 3.088 |
0.411 | 3.015 |
0.418 | 3.088 |
0.426 | 3.015 |
0.434 | 3.088 |
0.442 | 3.113 |
0.45 | 3.039 |
0.458 | 3.088 |
0.466 | 3.113 |
0.474 | 3.064 |
0.482 | 3.137 |
0.49 | 3.064 |
0.497 | 3.137 |
0.505 | 3.137 |
0.513 | 3.088 |
0.521 | 3.137 |
0.529 | 3.162 |
0.537 | 3.113 |
0.545 | 3.162 |
0.553 | 3.113 |
0.561 | 3.137 |
0.569 | 3.186 |
0.577 | 3.137 |
0.584 | 3.162 |
0.592 | 3.211 |
0.6 | 3.137 |
0.608 | 3.186 |
0.616 | 3.137 |
0.624 | 3.186 |
0.632 | 3.211 |
0.64 | 3.137 |
0.648 | 3.211 |
0.656 | 3.235 |
0.663 | 3.162 |
0.671 | 3.211 |
0.679 | 3.162 |
0.687 | 3.211 |
0.695 | 3.235 |
0.703 | 3.186 |
0.711 | 3.235 |
0.719 | 3.26 |
0.727 | 3.186 |
0.735 | 3.235 |
0.743 | 3.186 |
0.75 | 3.235 |
0.758 | 3.26 |
0.766 | 3.186 |
0.774 | 3.235 |
0.782 | 3.26 |
0.79 | 3.211 |
0.798 | 3.26 |
0.806 | 3.186 |
0.814 | 3.235 |
0.822 | 3.26 |
0.829 | 3.211 |
0.837 | 3.26 |
0.845 | 3.284 |
0.853 | 3.211 |
0.861 | 3.26 |
0.869 | 3.211 |
0.877 | 3.26 |
0.885 | 3.284 |
0.893 | 3.211 |
0.901 | 3.26 |
0.908 | 3.284 |
0.916 | 3.211 |
0.924 | 3.26 |
0.932 | 3.211 |
0.94 | 3.26 |
0.948 | 3.284 |
0.956 | 3.211 |
0.964 | 3.26 |
0.972 | 3.309 |
0.98 | 3.235 |
0.988 | 3.284 |
0.995 | 3.211 |
1.004 | 3.26 |
1.012 | 3.284 |
1.02 | 3.235 |
1.027 | 3.284 |
1.035 | 3.309 |
1.043 | 3.235 |
1.051 | 3.284 |
1.059 | 3.235 |
1.067 | 3.284 |
1.075 | 3.309 |
1.083 | 3.235 |
1.091 | 3.284 |
1.099 | 3.309 |
1.107 | 3.235 |
1.114 | 3.309 |
1.122 | 3.235 |
1.13 | 3.284 |
1.138 | 3.309 |
1.146 | 3.26 |
1.154 | 3.309 |
1.162 | 3.333 |
1.17 | 3.26 |
1.178 | 3.309 |
1.186 | 3.26 |
1.193 | 3.309 |
1.201 | 3.333 |
1.209 | 3.26 |
1.217 | 3.333 |
1.225 | 3.333 |
1.233 | 3.284 |
1.241 | 3.333 |
1.249 | 3.284 |
1.257 | 3.333 |
1.265 | 3.358 |
1.273 | 3.284 |
1.28 | 3.358 |
1.288 | 3.382 |
1.296 | 3.309 |
1.304 | 3.358 |
1.312 | 3.284 |
1.32 | 3.358 |
1.328 | 3.382 |
1.336 | 3.309 |
1.344 | 3.382 |
1.352 | 3.407 |
1.359 | 3.333 |
1.367 | 3.382 |
1.375 | 3.333 |
1.383 | 3.382 |
1.391 | 3.407 |
1.399 | 3.333 |
1.407 | 3.407 |
1.415 | 3.431 |
1.423 | 3.358 |
1.431 | 3.407 |
1.438 | 3.358 |
1.446 | 3.407 |
1.454 | 3.431 |
1.462 | 3.382 |
1.47 | 3.431 |
1.478 | 3.456 |
1.486 | 3.382 |
1.494 | 3.456 |
1.502 | 3.382 |
1.51 | 3.456 |
1.518 | 3.48 |
1.525 | 3.431 |
1.533 | 3.48 |
1.541 | 3.505 |
1.549 | 3.431 |
1.557 | 3.505 |
1.565 | 3.431 |
1.573 | 3.505 |
1.581 | 3.529 |
1.589 | 3.456 |
1.597 | 3.529 |
1.604 | 3.554 |
1.612 | 3.48 |
1.62 | 3.529 |
1.628 | 3.48 |
1.636 | 3.529 |
1.644 | 3.578 |
1.652 | 3.505 |
1.66 | 3.578 |
1.668 | 3.627 |
1.676 | 3.529 |
1.684 | 3.578 |
1.691 | 3.529 |
1.699 | 3.578 |
1.707 | 3.603 |
1.715 | 3.554 |
1.723 | 3.603 |
1.731 | 3.652 |
1.739 | 3.554 |
1.747 | 3.627 |
1.755 | 3.554 |
1.763 | 3.627 |
1.77 | 3.676 |
1.778 | 3.627 |
1.786 | 3.676 |
1.794 | 3.701 |
1.802 | 3.627 |
1.81 | 3.701 |
1.818 | 3.603 |
1.826 | 3.676 |
1.834 | 3.725 |
1.842 | 3.652 |
1.849 | 3.725 |
1.857 | 3.75 |
1.865 | 3.676 |
1.873 | 3.75 |
1.881 | 3.676 |
1.889 | 3.75 |
1.897 | 3.775 |
1.905 | 3.725 |
1.913 | 3.799 |
1.921 | 3.824 |
1.929 | 3.75 |
1.936 | 3.799 |
1.944 | 3.775 |
1.952 | 3.824 |
1.96 | 3.848 |
1.968 | 3.799 |
1.976 | 3.848 |
1.984 | 3.897 |
1.992 | 3.848 |
2 | 3.946 |
2.008 | 3.873 |
2.015 | 3.946 |
Expected dI/dV(as Y axis) vs V (As X axis)plot
I know my values are not much tidy, I just want to know the kind of plot I will get for my above values.Even if it is not close to the expected screenshot below
Kind regards
Guthu
Solved! Go to Solution.
Your data is pretty noisy, but you can still do the difference quotient approximation as follows:
dI/dV =
VAR V_Curr = SELECTEDVALUE ( Table1[V] )
VAR V_Prev = CALCULATE ( MAX ( Table1[V] ), Table1[V] < V_Curr )
VAR I_Curr = CALCULATE ( SUM ( Table1[I] ), Table1[V] = V_Curr )
VAR I_Prev = CALCULATE ( SUM ( Table1[I] ), Table1[V] = V_Prev )
RETURN
DIVIDE ( I_Curr - I_Prev, V_Curr - V_Prev )
Since your data is so noisy, this is all over the place:
I'd strongly recommend smoothing your data before trying to do anything like a derivative. In this particular case, you can approximate your data quite well with a 4th-degree polynomial and then take the derivative of that approximation.
This will lead to much cleaner results like this:
Your data is pretty noisy, but you can still do the difference quotient approximation as follows:
dI/dV =
VAR V_Curr = SELECTEDVALUE ( Table1[V] )
VAR V_Prev = CALCULATE ( MAX ( Table1[V] ), Table1[V] < V_Curr )
VAR I_Curr = CALCULATE ( SUM ( Table1[I] ), Table1[V] = V_Curr )
VAR I_Prev = CALCULATE ( SUM ( Table1[I] ), Table1[V] = V_Prev )
RETURN
DIVIDE ( I_Curr - I_Prev, V_Curr - V_Prev )
Since your data is so noisy, this is all over the place:
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
Check out the June 2025 Power BI update to learn about new features.
User | Count |
---|---|
79 | |
78 | |
59 | |
36 | |
33 |
User | Count |
---|---|
98 | |
62 | |
56 | |
49 | |
41 |