Oracle Databaseから取得する一部のデータをロードして解釈するために、Excel 2016でパワークエリーを使用することにしました。私は、特定の実行コード、EXE_IDに基づいてロードしたいいくつかのシートを持っていますが、これは私が見たいデータに応じて異なる場合があります。パワークエリー - Oracle SQLクエリーでExcel 2016セル値を使用する方法
私がやりたかったのは、これまで見たことのあるチュートリアルによれば、比較的単純なものでなければなりません:1つのシートにEXE_IDを指定して、それを読み取ってそれに応じて情報をロードすることができる。問題は、私はいつも何らかのエラーが出ているということです。
ここに私の最新の試みです:
:43は、その後、私は次のコードを追加した空のクエリを作成し、
私はCurrent_EXE_IDというヘッダと単一の値怒鳴るとの単純なテーブルを作成しました
let
Source = Excel.CurrentWorkbook(){[Name="GetExeId"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Current_EXE_ID", type text}}),
#"Current_EXE_ID" = #"Changed Type"{0}[Current_EXE_ID]
in
#"Current_EXE_ID"
ideiaは単にテーブルの値を読み込み、43、それをテキストに変換して# "Current_EXE_ID"変数に格納して、別のシートから取得できるようにしました。
私は別のシートにクエリ内の変数を含めると、それは私が次のエラーメッセージが出ていアクセスをしようとしてみてください。
[Expression.Error] The import CUrrent_EXE_ID matches no exports. Did you miss a module reference?
ここで私はそれをやっている方法は次のとおりです。
let
Source = Oracle.Database("<DB_NAME>", [Query="SELECT * #(lf)FROM TABLE_NAME#(lf)WHERE EXE_ID = " & #"Current_EXE_ID"])
in
Source
(ParameterName as text) =>
let
ParamSource = Excel.CurrentWorkbook(){[Name="Parameters"]}[Content],
ParamRow = Table.SelectRows(ParamSource, each ([Parameter] = ParameterName)),
Value=
if Table.IsEmpty(ParamRow)=true
then null
else Record.Field(ParamRow{0},"Value")
in
Value
:
私はまた、同様にブランクQueryページを介して結合した次のコードでパラメータテーブルを作成するなど、さまざまなアプローチを、試してみました
私は、関数fnGetExeIdを命名し、Oracle SQLクエリ
がEXE_ID = "& TABLE_NAME#(LF)SELECT * FROM#(LF) "[クエリ=、" ソース= Oracle.Databaseを(" 聞かせて、それを組み込みました ソース
でfnGetExeId(「EXE_ID」) ]) が、私はこのエラーを取得してしまった:誰かが、少なくともエラーが、それは素晴らしいことだ原因を説明することができれば
Expression.Error: We cannot apply operator & to types Text and Number. Details: Operator=& Left=SELECT * #(lf)FROM TABLE_NAME#(lf)WHERE EXE_ID = Right=43
!
ありがとうございます! Miguel