2017-05-26 9 views
1

私は列配列A1、A2、A3、A4、...と値1,2,3,4、...を取るインデックス列Indを持つテーブルを持っていますインデックスを使用して配列要素を返す列を作成します。私は入れ子でそれをすることができます電力クエリでの配列処理

 if Ind = 1 then A1 
else if Ind = 2 then A2 
else if Ind = 3 then A3 
else if Ind = 3 then A4 ... 

もっとエレガントな方法がありますか?

答えて

1

A1、A2などは列Aの値ですか?その場合は、数式がeach [A]のカスタム列を追加すると、必要な処理が実行されます。異なる行から値を取得する必要がある場合は、{0}を使用してインデックスの値を取得することができます(TableName[A]{Ind + 1}など)。使用しているインデックスが0より小さいか、または行の数以上でないことを確認する必要があります。 if/elseステートメントを使用して、索引を制限したままにすることができます。

+0

ありがとうアレハンドロ。私が意味したのは、A1、A2などはSQLデータベースとは別の列であり、暗黙的にしか配列ではないということでした。私はそれらをA = {A1、A2、A3、...}のようなリストに変換してからインデックスを使うことができますが、根本的に何をしたいのかは、 –

+0

名前はパターンに従っていますか? 'Record.Field'を使うと、カスタム列を追加するときに列から値を取得できます。たとえば、ベース名が "A"の場合、 'Record.Field(_、" A "&Number.ToText(Ind))で列A(Ind)の値を取得できます。 –

+0

それはうまくいきました。 –