Error establishing a database connection


Kategorie szkoleń | Egzaminy | Kontakt
  • 1
  • 0
  • 1

Dzień dobry.

Używając opcji "Merge" w Power Query, próbuję odtworzyć formułę vlookup. Jednak vlookup działa tak, że nie wymaga, by w tabeli odwołań każdy rekord był unikatowy: w przypadku powtarzających się rekordów, vlookup podaje pierwszy napotkany wynik. Moja tabela odwołań zawiera nieunikatowe rekordy - na potrzeby przykładu uznajmy, że powtarzają się tylko podwójnie. Opcja Merge, a następnie "Left from Outer (all from list, matching from second)" zwraca wynik w tabeli faktów podwójnie. Pytanie zatem brzmi: czy w Power Query tabela odwołań zawsze musi zawierać unikatowe rekordy, czy też da się w inny sposób odtworzyć dokładne funkcjonowanie vlookupa (zwróć pierwszy napotkany pasujący wynik). Załączam pliki obrazujące problem.

Dziękuję.
Ludmiła Kotnis.

 

Załączniki

  • xlsx

    przykład.xlsx ( 10K )
  • xlsx

    przykład funkcja MERGE.xlsx ( 21K )
Ludmila_Kotnis
  • Zapytał
  • @ Ludmila_Kotnis | 24.09.2019
    • 0
    • 0
    • 0
Zaloguj się aby zadać pytanie
Pokrewne

Odpowiedź (1)

  • 0

Dwa przykładowe rozwiązania:

1) Zamiast rozwijać kolumnę z wynikami, dodaj dodatkową, w której wyciągniesz z tej pierwszej wartość z jej pierwszego wiersza:

= Table.AddColumn(#"Merged Queries", "Niestandardowe", each try [Tabela odwołan][Column2]{0} otherwise null)

Zastosowanie wyrażenia try ... otherwise ... pozwoli uniknąć błędów, jeżeli w tabeli odwołań zabraknie pasującego rekordu.

2) W kwerendzie Tabela odwołań dodaj usuwanie duplikatów w pierwszej kolumnie:

= Table.Distinct(#"Changed Type", {"Column1"})

 

Mirosław_Janiak
  • Odpowiedział
  • @ Mirosław_Janiak | 24.09.2019
    • 1
    • 7
    • 1