Forum Discussion

RachC's avatar
RachC
Helper I
9 years ago
Solved

MongoDB With r

hello everybody , I connect mongodb with mongolite instead of ODBC(Because of cost).

but I got some trouble when I search in R.The data is displayed well but not work in power bi.

I try to find the what the problem make this fault.Therefore, it's array make the data list shut.Is any one encounter this situation?

 

R CODE

library(mongolite)
m <- mongo("customer",url="myurl")
customer <- m$find()

with my screenshot.The blue word are in R and other one is in power bi.

 

 

  • I resolve my problem but itsn't work for all list.

    If you had second or third nest it didn't work. I set a loop to search which column is list() and do unlist() then the error is gone!

4 Replies

  • I update the problem.

     

    mongolite return the query data is 

    id   name   belongs
    1    user1   a,b,c,d(array)
    2    user2   q,w,e,r(array

     but power need to convert to this list,may be need the expandID after concat the table.

     

    id   name   belongs
    1    user1   a
    1    user1   b
    1    user1   c
    1    user1   d
    2    user2   q
    2    user2   w
    2    user2   e
    2    user2   r

     Did smoe buddies came across this situation?

    • v-caliao-msft's avatar
      v-caliao-msft
      Microsoft Employee

      RachC,

       

      You can split this column to multiple rows in Power query. Please refer to the steps below.

      1. Add a custom column.
      2. column expression
        =Text.Split([belongs],",")
      3. Expand to new rows
      4. Results

      Regards,

      Charlie Liao

      • RachC's avatar
        RachC
        Helper I

        umm.. it works cool!

         

        but it's specify for known column but not for all list.

        And need to covert evely column from list to text (or character) .I thought itsn't great for perfomence.I plan to implement transfer function that type of list is made new Table.

         

        thanks for your tutorial!