2017-09-19 1 views
1

データ湖では、パターンyyyyMM_data.csvのファイル名があります。今私は前の3日間のデータを読んでみたい。私は上記のコードを実行した場合、それは空の入力で動作しますファイル名パターンに日記がない場合、USQLの最後のn日を読む

DECLARE @ReportDate DateTime= DateTime.Parse("05/08/2017"); 
DECLARE @FeatureSummaryInput [email protected]"/FolderPath/{InputFileDate:yyyy}{InputFileDate:MM}_data.csv"; 

@FeaturedUsed = 
    EXTRACT Id string,InputFileDate DateTime 
    FROM @FeatureSummaryInput 
    USING Extractors.Csv(silent : true, skipFirstNRows : 1); 

@FeaturedUsed= 
    SELECT * 
      FROM @FeaturedUsed 
    WHERE InputFileDate BETWEEN @ReportDate.AddDays(-3) AND @ReportDate; 

- 私は、コードの下に使用しています。私が何かを見逃している場合は、私に知らせてください。なぜそれが正しいファイルを読んでいないのですか?

これを行うには、ファイル名のパターンに "day"が必要なようです。

答えて

0

おそらく私は何かを見逃していますが、キャストすると、にはデフォルトで曜日が指定されていません。あなたのテストReportDate05/08/2017に設定されている場合、WHERE句は基本的にはBetween 2017-08-02 And 2017-08-05と評価されます。

ここで、yyyyMMのように構造化されたファイルでday要素が入力されることを期待していますか?

関連する問題