2017-08-11 20 views
0

私は、現在の年の関数をM言語で使用してデータベース名を生成して、次のクエリでサーバー上のすべてのデータベーステーブルを使用可能にしたいだけです。 サーバー内のすべてのデータベースのリストを反復処理する方法は?

let 
Source = Sql.Databases(SERVER), 
database2017T = Source{[Name="database2017T"]}[Data], 
database2016T = Source{[Name="database2016T"]}[Data], 
database2015T = Source{[Name="database2015T"]}[Data], 
database2014T = Source{[Name="database2014T"]}[Data], 
database2013T = Source{[Name="database2013T"]}[Data], 
dbo_CBKISLEM17 = database2017T{[Schema="dbo",Item="CEKBORDRO"]}[Data], 
dbo_CBKISLEM16 = database2016T{[Schema="dbo",Item="CEKBORDRO"]}[Data], 
dbo_CBKISLEM15 = database2015T{[Schema="dbo",Item="CEKBORDRO"]}[Data], 
dbo_CBKISLEM14 = database2014T{[Schema="dbo",Item="CEKBORDRO"]}[Data], 
dbo_CBKISLEM13 = database2013T{[Schema="dbo",Item="CEKBORDRO"]}[Data], 
dbo_CEKBORDRO=Table.Combine({dbo_CBKISLEM17,dbo_CBKISLEM16,dbo_CBKISLEM15,dbo_CBKISLEM14,dbo_CBKISLEM13}) 

dbo_CEKBORDRO

にどのように私はすべての年のテーブルをもたらすために、このようなクエリを書くことができますので、私は毎年、クエリを更新する必要はありません。 XYZ用

= 2013 date.Year(NOW()) "データベース" & XYZ =ソース{[NAME = "データベース" & & XYZ "T"]} [データ]、 "dbo_CBKISLEM" & XYZへ= "データベース" & & XYZ "T {[=スキーマ" DBO」、アイテム= "CEKBORDRO"]} [データ]、 dbo_CEKBORDRO = Table.Combine({ "dbo_CBKISLEM" & XYZ})私は

答えて

1

M言語のカスタムコーディングにあまり興味がありませんが、この要件を満たす必要はないでしょう。1つのデータベース内の1つのテーブルに接続してQueryを開始し、2番目の "Navigation" st ep。次に、「データ」列を展開して、すべてのデータベース内のすべての表とビューのリストを取得します。次に、そのリストを必要なテーブルだけにフィルタリングします(これを行うにはカスタム列を追加する必要があります)。次に、「データ」列を展開して、各表またはビューのすべての行を取得します。

関連する問題