Paramètre date power query
Bonjour,
j'ai un fichier excel xlsx dans lequel j'ai créé une requête SQL. si je clique sur actualisation tout est OK.
j'ai ajouté dans le select du SQL une ligne avec une date (exemple : b.DATE_CREATION>='02/06/2026').
je voudrais remplacer cette date par un paramètre dans power query et donc quand je lance l'actualisation je peux taper la date que je veux et cette ligne de code s'adaptera en fonction de la date.
j'ai tenté de créer un paramère "Date" et de mettre @Date dans le sql mais ça ne marche pas.
quelle serait la meilleure méthode ? et si j'ai une autre requête SQL dans le même fichier et si je veux utiliser ce paramètre pour les 2 requêtes
d'avance merci
Vince
Hey,
Power Query ne remplace pas automatiquement les paramètres M par des paramètres SQL dans une requête écrite en texte donc le @Date est à éviter
En fonction de ma compréhension je dirai qu'il faut que tu te mettes un paramètre dans ton onglet excel avec ta date et ensuite tu construis ta requête SQL en M.
let
DateSQL = Date.ToText(pDate, "yyyy-MM-dd"), //Tu mets le format date que tu souhaites
SQL =
"
SELECT
*
FROM MA_TABLE b
WHERE b.DATE_CREATION >= '" & DateSQL & "' // DateSQL c'est le paramètre de la date mis au bon format
",
Source = Sql.Database(
"MonServeur",
"MaBase",
[Query = SQL]
)
in
SourceTu vois le truc ?
@+
merci du retour rapide.
j'ai adapté ce code M pour ma requête et le paramètre en power query
mais rien ne se passe. j'ai dû rater une étape:
let
DateSQL = Date.ToText(pDateParam, "yyyy-MM-dd"), //Tu mets le format date que tu souhaites
SQL =
"
select SIREN,
,(select sum(b.MONTANT)
from FIN_BUDGET a
left outer join FIN_MOUVEMENT b on a.ID=b.ID_BUDGET
left outer join evt_evenement c on c.id=b.ID_EVENEMENT
left outer join REF_NIVEAU_MOUVEMENT d on d.ID=b.ID_NIVEAU_MOUVEMENT
left outer join REF_TYPE_BUDGET type2 on type2.id=a.ID_TYPE_BUDGET
left outer join adh_etablissement adh2 on a.ID_PERE=adh2.ID
left outer join adh_entreprise entrep2 on entrep2.id=adh2.id_entreprise
where entrep.ID=entrep2.ID and b.ID_NIVEAU_MOUVEMENT='e' and ID_TYPE_EVENEMENT='DOSSIER_ENGAGEMENT' and b.DATE_CREATION>='" & DateSQL & "' and b.MONTANT<0 and CODE_TYPE='bud' and a.ANNEE_FISCALE=2025 and type2.ID=62)
as 'Montant négatif last time'
from adh_etablissement adh
left outer join adh_entreprise entrep on entrep.id=adh.id_entreprise
left outer join FIN_BUDGET bud on bud.ID_PERE=adh.ID
left outer join REF_TYPE_BUDGET type on type.id=bud.ID_TYPE_BUDGET
where CODE_TYPE='bud'
and type.id=62
and annee_fiscale=2026
group by SIREN,type.LIBELLE,entrep.ID
order by SIREN,type.LIBELLE
",
Source = Sql.Database(
"MonServeur",
"MaBase",
[Query = SQL]
)
in
Source