How to use the Qualtrics API in conjunction with Power BI?

RCBIZMarketingRCBIZMarketing VirginiaCommunity Member Qubie ✭
edited May 8 in Qualtrics API

How to use the Qualtrics API in conjunction with Power BI?

I've been doing research for a long time now and I see no clear way on how to connect Power BI and Qualtrics through the Qualtrics API. What I'm aiming to do is automate the process of importing survey results into Power BI. Currently I just have a spreadsheet that I manually add new survey results to as they come in. I got instructions on how to do it with the 2.5 version which seemed easy, but I've been advised to stay away from that now and do it the v3 way. The v3 way makes 0 sense to me and seems not possible to directly connect to Power BI.

Best Answer

  • TomGTomG Raleigh, NC Wizard ✭✭✭✭✭
    Accepted Answer

    @RCBIZMarketing,

    Users who used version 2.5 of the API prior to it being deprecated got grandfathered in. Any other users don't have access to that version. You'll probably have to use the new API (which requires more steps).

Answers

  • Ken_NelsonKen_Nelson Loma Linda, CACommunity Member Qubie ✭

    This is super easy to do with an API. Allows automated Power BI updates once imported.

    Try this as a web CSV import -
    https://YOUR DATA CENTER ID.qualtrics.com//WRAPI/ControlPanel/api.php?API_SELECT=Co ntrolPanel&Version=2.5&Request=getLegacyResponseData&User=USER ID&Token=TOKEN HERE&Format=CSV&SurveyID=SURVEY ID
    HERE
    &Labels=1

    Your data center ID is in the root URL.
    The root URL for communicating with the Qualtrics system is:
    https://yourdatacenterid.qualtrics.com/WRAPI/ControlPanel/api.php

    Like M in Power Query? Here's the code, just copy a table and replace its code with the following:
    let
    Source = Csv.Document(Web.Contents("https://co1.qualtrics.com//WRAPI/ControlPanel/api.php?API_SELECT=ControlPanel&Version=2.5&Request=getLegacyResponseData&User=USER ID&Token=TOKEN HERE&Format=CSV&SurveyID=SURVEY ID HERE&Labels=1"),[Delimiter=","]),
    #"Removed Top Rows2" = Table.Skip(Source,1),
    #"Promoted Headers" = Table.PromoteHeaders(#"Removed Top Rows2", [PromoteAllScalars=true])
    in
    #"Promoted Headers"

  • RCBIZMarketingRCBIZMarketing VirginiaCommunity Member Qubie ✭
    edited May 9

    I've been having issues with trying to do it this way. I just always get an error message saying it can't find the user.

  • RCBIZMarketingRCBIZMarketing VirginiaCommunity Member Qubie ✭

    Thanks Tom. I was unfortunately told that as well by the support team. Not familiar with Python but this seems to be the only way to do this now.

  • TomGTomG Raleigh, NCCommunity Member, Product Ideas Wizard ✭✭✭✭✭

    @RCBIZMarketing said:
    Thanks Tom. I was unfortunately told that as well by the support team. Not familiar with Python but this seems to be the only way to do this now.

    You can use any web based script (python, php, etc.).

Sign In to Comment