1

私の質問:

  • SQL クエリで %{macro_name} を引用符で囲む方法はありますか?
  • 必要なレポートを作成するより良い方法はありますか (つまり、RapidMiner を使用しない)?

    私のプロセス:

    現在、MySQL データベースに保存されているデータのカスタム レポートを作成しようとしています。これは私のテーブルデータの架空の例です:

    Item_Name  Item_Price Item_Stock Item_Timestamp
    Dish Soap    3.99        25      1/1/2013 12:00am
    Frogs        0.69        26      1/1/2013 12:00am
    Frogs        0.69        19      1/1/2013 1:00am
    Dish Soap    3.99        28      1/1/2013 1:00am
    

    Item_Timestamp は、エントリが作成された日時を示します。

    RapidMiner を使用して次のことを実行しようとしています。

  • 一意の Item_Name ごとに Item_Stock の増加の合計を提供します
  • 一意の Item_Name ごとに Item_Stock の減少の合計を提供します
  • 指定した期間の平均変化率を提供する

    私の目標は、アイテムが需要と均衡する割合で補充されているかどうかを示すレポートを作成することです。

    一意の Item_Name ごとにレポートを作成するために、一意の Item_Name をサンプル セットとしてロードする RapidMiner プロセスを作成し、extract マクロ演算子を使用してサンプル セットをループして、各サンプルの Item_Name を別の SQL クエリに送信します。 . RapidMiner は、マクロの構文として %{macro_name} を使用します。私のSQLクエリは次のようになります:

    Select Item_Name
    From thisTable
    Where Item_Name = %{macro_name}
    

    問題は、このクエリが例外をスローすることですが、その理由はわかりません。おそらく問題は、 %{macro_name} が必要な引用符なしで文字列を返すことですが、よくわかりません。

    私の質問は次のとおりです。

  • SQL クエリで %{macro_name} を引用符で囲む方法はありますか?
  • 必要なレポートを作成するより良い方法はありますか (つまり、RapidMiner を使用しない)?

  • 4

    1 に答える 1

    1

    私は主な問題を理解しました:

    現在のSQL文字列には構文上の問題があります。大文字にする必要があり、%{macro_name}の前にスペースを入れないでください

    SELECT Item_Name
    FROM `thisTable`
    WHERE Item_Name =%{macro_name}
    
    于 2013-03-06T00:57:42.233 に答える