Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Logic Within "Get Data"

Is it possible to setup logic within the "Get Data" Source? I am looking to see whether or not there is data at the source, and if not, then it will setup a table with no data. If there is data, it will pull the data and transform as I desire.

  • Hi Anonymous ,

     

    You can add the following code to the M of the data source, below is my example using Excel as the data source.

     

    Rows = Table.RowCount(#"Promoted Headers"),
    Table = if Rows > 0 then #"Promoted Headers" else Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlSK1YlWMgKTxkqxsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t])

     

    1. When the data in the excel is empty, display the custom data.

     

     

    2. When the excel data is not empty, import it.

     

     

    If the problem is still not resolved, please provide detailed error information or the expected result you expect. Let me know immediately, looking forward to your reply.
    Best Regards,
    Winniz
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

     

3 Replies

  • bcdobbs's avatar
    bcdobbs
    Icon for Community Champion rankCommunity Champion

    I started to reply to suggest you could use an if statement in advance editor to switch between two queries that aren't loaded (https://docs.microsoft.com/en-us/powerquery-m/m-spec-conditionals)

     

    However am slightly confused, what is your source? Generally if a source returns no data you get an empty table anyway.

     

    Are you trying to read from files that may or may not exist?

    • Anonymous's avatar
      Anonymous
      Not applicable

      My source is a website that returns a DataSourcePath error, presumably meaning the website location does not currently exist. However, at certain times in the month, this website path does contain data uploaded and active. 

      • v-kkf-msft's avatar
        v-kkf-msft
        Icon for Community Support rankCommunity Support

        Hi Anonymous ,

         

        You can add the following code to the M of the data source, below is my example using Excel as the data source.

         

        Rows = Table.RowCount(#"Promoted Headers"),
        Table = if Rows > 0 then #"Promoted Headers" else Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlSK1YlWMgKTxkqxsQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t])

         

        1. When the data in the excel is empty, display the custom data.

         

         

        2. When the excel data is not empty, import it.

         

         

        If the problem is still not resolved, please provide detailed error information or the expected result you expect. Let me know immediately, looking forward to your reply.
        Best Regards,
        Winniz
        If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.