Just looking at your approach and using Compose
steps where you have, there's nothing wrong with that but I'm ultimately missing context around the rest of the flow.
Because of that, I've ignored your loop component (because I can see you're doing that based on the expressions) and focussing on what you can do prior to your loop so you don't have to deal with blank records.
This is the basic table I am working with ...

You can clearly see that there is a single blank record that I have used to test with.
This is the basic flow I mocked up the answer with ...

You can see, I've taken the data from the Excel table and simply filtered on it so as to remove any records that are deemed as being blank.
The expression to the right hand side of the filter is simply ...
string('')
... and you can see I've chosen records that are not equal to
.
Now, if you look at the data before and after ...
Before Filter ...
[
{
"@odata.etag": "",
"ItemInternalId": "5353aa33-9512-458d-8bf7-99d59aa981a3",
"Revised Date": "2023-02-20T00:00:00.000Z"
},
{
"@odata.etag": "",
"ItemInternalId": "1538d945-7516-4618-b080-a391ea65d7a9",
"Revised Date": "2023-02-20T00:00:00.000Z"
},
{
"@odata.etag": "",
"ItemInternalId": "d44e2dbd-5606-44aa-b4d6-c7835f0a781c",
"Revised Date": ""
},
{
"@odata.etag": "",
"ItemInternalId": "91d471f6-3729-4d49-887a-0fb43c2cd37c",
"Revised Date": "2023-02-20T00:00:00.000Z"
},
{
"@odata.etag": "",
"ItemInternalId": "8117d5b9-e805-4d2f-a2eb-43085db70258",
"Revised Date": "2023-02-20T00:00:00.000Z"
},
{
"@odata.etag": "",
"ItemInternalId": "b37bbb39-47e2-403d-bedf-8440dc1ff699",
"Revised Date": "2023-03-06T00:00:00.000Z"
},
{
"@odata.etag": "",
"ItemInternalId": "2944a98d-71a4-4a63-8bd9-356386c9a03b",
"Revised Date": "2023-03-13T00:00:00.000Z"
}
]
After Filter ...
{
"body": [
{
"@odata.etag": "",
"ItemInternalId": "5353aa33-9512-458d-8bf7-99d59aa981a3",
"Revised Date": "2023-02-20T00:00:00.000Z"
},
{
"@odata.etag": "",
"ItemInternalId": "1538d945-7516-4618-b080-a391ea65d7a9",
"Revised Date": "2023-02-20T00:00:00.000Z"
},
{
"@odata.etag": "",
"ItemInternalId": "91d471f6-3729-4d49-887a-0fb43c2cd37c",
"Revised Date": "2023-02-20T00:00:00.000Z"
},
{
"@odata.etag": "",
"ItemInternalId": "8117d5b9-e805-4d2f-a2eb-43085db70258",
"Revised Date": "2023-02-20T00:00:00.000Z"
},
{
"@odata.etag": "",
"ItemInternalId": "b37bbb39-47e2-403d-bedf-8440dc1ff699",
"Revised Date": "2023-03-06T00:00:00.000Z"
},
{
"@odata.etag": "",
"ItemInternalId": "2944a98d-71a4-4a63-8bd9-356386c9a03b",
"Revised Date": "2023-03-13T00:00:00.000Z"
}
]
}
... the blank record has been removed.
From here, your loop should refer to the output of the Filter array
step and not the output from the List rows present in a table
step as that has now been superseded by the cleaner set of data.