2016-11-11 4 views
1

Ich habe eine Reihe von eindeutigen Elementen (Index) zu jedem von denen verschiedene Elemente eines anderen Satzes von Elementen zugeordnet sind (in diesem Fall Daten). Wenn in der Praxis ein Datum einem Index zugeordnet ist, wurde ein mit diesem Index verknüpftes Element in einer Datei angezeigt, die an diesem Datum erstellt wurde. Bei einer Kombination von Daten, die tatsächlich auftreten, möchte ich wissen, welche Konten vorhanden waren.Fehler bei der Gruppierung nach Liste in Power Query

let 
Source = Table.FromRecords({ 
    [Idx = 0, Dates = {#date(2016,1,1), #date(2016,1,2), #date(2016,1,3)}], 
    [Idx = 1, Dates = {#date(2016,2,1), #date(2016,2,2), #date(2016,2,3)}], 
    [Idx = 2, Dates = {#date(2016,1,1), #date(2016,1,2), #date(2016,1,3)}]}, 
    type table [Idx = number, Dates = {date}]), 

// Group by 
Grouped = Table.Group(Source, {"Dates"}, {{"Idx", each List.Combine({[Idx]}), type {number}}}), 

// Clicking on the item in the top left corner generates this code: 
Navigation = Grouped{[Dates={...}]}[Dates], 
// Which returns this error: "Expression.Error: Value was not specified" 

// My own code to reference the same value returns {0,2} as expected. 
CorrectValue = Grouped{0}[Idx], 

// If I re-make the table as below the above error does not occur. 
ReMakeTable = Table.FromColumns(Table.ToColumns(Grouped), Table.ColumnNames(Grouped)) 

in ReMakeTable 

Es scheint, dass ich die Ergebnisse in meinem späteren Arbeiten auch ohne die Re-make verwenden kann (ich richtig kann nicht Zellen Vorschau), aber ich würde gerne wissen, ob das, was auf das los ist verursacht den Fehler und den ungeraden Code im Navigationsschritt und warum er nach dem Schritt ReMakeTable verschwindet.

+0

Es scheint mir, dass Sie Tabelle nach Liste der Daten gruppieren, und Liste der Elemente für jede Liste der Daten erhalten, oder? Wenn ja, ich verstehe kaum, wie Sie es weiter verwenden werden, da es wahrscheinlich eine Vielzahl von einzigartigen Datumslisten mit nur einem (vielleicht zwei) entsprechenden Indizes generieren würde. – Eugene

Antwort

1

Dies geschieht, weil, wenn Sie ein Element doppelklicken, die automatisch generierten Code verwendet Wertfilter statt Zeilenindex, dass Sie die einzige Zeile aus der Tabelle zu erhalten verwenden. Und da Sie eine Liste als Wert haben, sollte sie anstelle von {...} verwendet werden. Wahrscheinlich ist UI in einer solchen Situation nicht in der Lage, mit Listen zu arbeiten, und es fügt {...} ein, und das ist in der Tat ein falscher Wert.

Daher sollte diese Codezeile wie folgt aussehen:

Navigate = Grouped{[Dates = {#date(2016,1,1), #date(2016,1,2), #date(2016,1,3)}]}[Idx], 

Dann wird es Wertfilter verwenden.

1

Dies ist ein Fehler in der Benutzeroberfläche. Der von der UI berechnete Index ist falsch: Er sollte 0 statt [Dates={...}] sein. ... ist ein Platzhalterwert und generiert die Ausnahme "Wert wurde nicht angegeben", wenn sie nicht ersetzt wird.

Verwandte Themen