You can use CreateDataSystemModel to create a block from the InterpolatingFunction and then use this model as component. Since you plan to interpolate from an input x, you can choose the specification "1D":
if = Interpolation[Transpose[{Range[0, 100], RandomReal[{0, 1}, 101]}]];
model = CreateDataSystemModel["MyModel.CTable", if, "1D"];
This extends a combi table using data that is written directly in the model (you can also use the GeneratedAssetLocation option if you instead want to print the data to a file that is then referenced in the model). You can also use a custom SamplingPeriod in the CreateDataSystemModel call to specify how to sample the InterpolatingFunction itself.
With this model available now you can choose how you want to add the differential equation. You can either create a model that uses the previous model as component and has the equation you indicated:
model1 = CreateSystemModel["MyModel.DiffEq", {"x" \[UndirectedEdge] "ct.u", "ct.y[1]"[t] == y'[t]}, t, {x \[Element] "RealInput", y \[Element] "RealOutput", ct \[Element] model}];
or you can instead do the integration with an integrator block, Modelica.Blocks.Continuous.Integrator :
model2 = ConnectSystemModelComponents["MyModel.WithIntBlock", {x \[Element] "RealInput", y \[Element] "RealOutput", ct \[Element] model, inte \[Element] "Modelica.Blocks.Continuous.Integrator"}, {"x" \[UndirectedEdge] "ct.u", "ct.y[1]" \[UndirectedEdge] "inte.u", "inte.y" \[UndirectedEdge] "y"}];
InterpolatingFunctionto aPiecewiseone. – Michael E2 Apr 01 '20 at 12:32