A system comprising: a wire electric discharge machine including an upper guide and a lower guide supporting a wire electrode; and a numerical controller for controlling the wire electric discharge machine based on a machining program to move the wire electrode with respect to a workpiece, thereby machining the workpiece using the wire electrode, the numerical controller comprising: a machining path creation unit that creates a machining path to move the wire electrode by analyzing blocks of the machining program; and an interpolation unit that creates interpolation data indicating an amount of movement for each interpolation period on the machining path based on the machining path created by the machining path creation unit; characterized by further comprising a machined surface length calculation unit that calculates a machined surface length corresponding to a length of the wire electrode to be used for the machining for each interpolation period, wherein the machined surface length is calculated based on a height (h) of the workpiece at an upper guide position and an angle formed by a line connecting the upper guide and the lower guide and a vertical direction; an electrode consumption amount calculation unit that calculates a consumption amount of the wire electrode for each interpolation period based on the machined surface length for each interpolation period; and a compensation amount calculation unit that calculates a compensation amount for compensating the amount of movement according to the interpolation data based on the consumption amount of the wire electrode for each interpolation period calculated by the electrode consumption amount calculation unit, wherein the wire electrode is moved on the basis of the amount of movement based on the interpolation data that is compensated by the compensation amount calculated by the compensation amount calculation unit. a wire electric discharge machine including an upper guide and a lower guide supporting a wire electrode; and a numerical controller for controlling the wire electric discharge machine based on a machining program to move the wire electrode with respect to a workpiece, thereby machining the workpiece using the wire electrode, the numerical controller comprising: a machining path creation unit that creates a machining path to move the wire electrode by analyzing blocks of the machining program; and an interpolation unit that creates interpolation data indicating an amount of movement for each interpolation period on the machining path based on the machining path created by the machining path creation unit; characterized by further comprising a machined surface length calculation unit that calculates a machined surface length corresponding to a length of the wire electrode to be used for the machining for each interpolation period, wherein the machined surface length is calculated based on a height (h) of the workpiece at an upper guide position and an angle formed by a line connecting the upper guide and the lower guide and a vertical direction; an electrode consumption amount calculation unit that calculates a consumption amount of the wire electrode for each interpolation period based on the machined surface length for each interpolation period; and a compensation amount calculation unit that calculates a compensation amount for compensating the amount of movement according to the interpolation data based on the consumption amount of the wire electrode for each interpolation period calculated by the electrode consumption amount calculation unit, wherein the wire electrode is moved on the basis of the amount of movement based on the interpolation data that is compensated by the compensation amount calculated by the compensation amount calculation unit. a machining path creation unit that creates a machining path to move the wire electrode by analyzing blocks of the machining program; and an interpolation unit that creates interpolation data indicating an amount of movement for each interpolation period on the machining path based on the machining path created by the machining path creation unit; characterized by further comprising a machined surface length calculation unit that calculates a machined surface length corresponding to a length of the wire electrode to be used for the machining for each interpolation period, wherein the machined surface length is calculated based on a height (h) of the workpiece at an upper guide position and an angle formed by a line connecting the upper guide and the lower guide and a vertical direction; an electrode consumption amount calculation unit that calculates a consumption amount of the wire electrode for each interpolation period based on the machined surface length for each interpolation period; and a compensation amount calculation unit that calculates a compensation amount for compensating the amount of movement according to the interpolation data based on the consumption amount of the wire electrode for each interpolation period calculated by the electrode consumption amount calculation unit, wherein the wire electrode is moved on the basis of the amount of movement based on the interpolation data that is compensated by the compensation amount calculated by the compensation amount calculation unit.