Udostępnij za pośrednictwem


Rozwiązywanie problemów z wartościami zagnieżdżonych zwracanymi jako tekst w usługa Power BI

W przeszłości były przypadki, w których raport jest odświeżony w programie Power BI Desktop, ale kończy się niepowodzeniem w usługa Power BI z błędem takim jak następujący tekst:

We cannot convert the value "[Table]" to type Table

Przyczyna

Jedną z przyczyn tego błędu są zagnieżdżone wartości nieskalarne, takie jak tabele, rekordy, listy i funkcje. Gdy zapora prywatności danych buforuje źródło danych, zagnieżdżone wartości nieskalarne są konwertowane na wartości tekstowe, takie jak "[Table]" lub "[Record]".

Usługa Power BI obsługuje teraz ustawienie poziomów prywatności lub całkowicie wyłącza zaporę. Błędy można uniknąć, konfigurując ustawienia prywatności źródła danych w usługa Power BI jako inne niż prywatne.

W przypadku nowszych wersji usługi Power BI, gdy zapora buforuje zagnieżdżona tabelę, rekord lub listę, nie konwertuje ona dyskretnie wartości nieskalowanych na tekst. Zamiast tego jest wyświetlany błąd:

We cannot return a value of type Table in this context

Wpływ na obciążenie/odświeżanie

Ta zmiana motywowana buforowaniem zapory jest również rozszerzana na ładowanie/odświeżanie. Zachowanie ładowania zagnieżdżonych tabel, rekordów i list do modelu usługi Power BI i modelu danych programu Excel w dodatku Power Query dla programu Excel uległo zmianie. Wcześniej zagnieżdżone elementy zostały załadowane jako wartości tekstowe, takie jak "[Table]" lub "[Record]". Teraz są one traktowane jako błędy. Wartość null znajduje się w załadowanej tabeli i liczba błędów zwiększa się w wynikach ładowania.

Ponieważ te błędy występują tylko podczas ładowania/odświeżania, nie są one wyświetlane w Edytor Power Query.

Przed

  • Ładowanie/odświeżanie bez błędów
  • Załadowana tabela zawiera "[Table]", "[Record]"i tak dalej.

Po

  • Ładowanie/odświeżanie z błędami
  • Załadowana tabela zawiera nullwartości , a nie "[Table]", "[Record]"i tak dalej.

Rozwiązanie

Czy ładujesz kolumnę zawierającą wartości nieskalarne, na przykład tabele, listy lub rekordy? Jeśli tak, powinno być możliwe wyeliminowanie błędów przez usunięcie kolumny.

Jeśli nie możesz usunąć kolumny, spróbuj zreplikować stare zachowanie, dodając kolumnę niestandardową i używając logiki podobnej do następującego przykładu:

if [MyColumn] is table then "[Table]" else if [MyColumn] is record then "[Record]" 
else if [MyColumn] is list then "[List]" else if [MyColumn] is function 
then "[Function]" else [MyColumn]

Czy problem występuje w programie Power BI Desktop, jeśli ustawisz wszystkie ustawienia prywatności źródła danych na Wartość Prywatna? Jeśli tak, spróbuj rozwiązać ten problem, konfigurując ustawienia prywatności źródła danych w usługa Power BI być nie prywatne.