Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola tengo una pregunta:
He creado esta consulta:
(Name as text,datetimestart as text, datetimeend as text, listzones as text, listaps as text, listdevices as text, listuserprops as text, topreg as text) as table =>
let
Source = Csv.Document(Web.Contents("https://localhost:44310/api/Emp?Name=" & Name & "&datetimestart=" & datetimestart & "&datetimeend=" & datetimeend & "&listzones=" & listzones & "&listaps=" & listaps & "&listdevices=" & listdevices & "&listuserprops=" & listuserprops & "&topreg=" & topreg & ""),[Delimiter=":", Encoding=65001, QuoteStyle=QuoteStyle.None])
in
Source
En total tengo 8 parámetros y necesito pasar a la URL algunos parámetros vacíos como "listdevices y listuserprops"
Pero cuando intento hacerlo, recibo el mensaje "Especifique un valor para listuserprops"
¿Hay alguna manera de pasar un parámetro vacío y cómo?
¡¡¡Gracias!!!
Intente actualizar los códigos de los parámetros listdevices y listuserprops como se muestra a continuación y verifique si puede funcionar o no:
null meta [IsParameterQuery=true, Type="Text", IsParameterQueryRequired=false]
Saludos
Mi procedimiento almacenado :
if (@Name = 'UniqueVisits')
begin
set @BaseQuery = 'select count(distinct fp.device_id) as NVisits from f_presence fp '
if (@listzones is not null)
begin
--set @includeap = 1
set @QueryFilter = @QueryFilter + ' and coalesce(fp.zone_id,-1) in (' + @listzones + ')'
end
if (@listaps is not null)
set @QueryFilter = @QueryFilter + ' and coalesce(fp.ap_id,-1) in (' + @listaps + ')'
set @QueryFilter = ' WHERE ((fp.datetime_start < ' + cast(@datetimeend as nvarchar(12)) + ' and fp.datetime_end > ' + cast (@datetimestart as nvarchar(12)) + ') OR fp.datetime_start = ' + cast (@datetimestart as nvarchar(12)) + ')' + @QueryFilter
if (@includedevice = 1)
set @TablesJoin = @TablesJoin + ' inner join l_device ld on ld.device_id = fp.device_id '
--if (@includeap = 1)
--set @TablesJoin = @TablesJoin + ' inner join l_accesspoint lap on lap.ap_id = fp.ap_id '
if (@includesession = 1)
set @TablesJoin = @TablesJoin + ' inner join f_session fs on fs.presence_id = fp.presence_id and ((fs.datetime_start <'+ cast(@datetimeend as nvarchar(12)) + ' and fs.datetime_end > ' + cast (@datetimestart as nvarchar(12)) + ') OR fs.datetime_start = ' + cast (@datetimestart as nvarchar(12)) + ')'
if (@includeappsession = 1)
set @TablesJoin = @TablesJoin + ' inner join f_applicationsession fapps on fapps.session_id = fs.session_id and fapps.datetime_start < ' + cast(@datetimeend as nvarchar(12)) + ' and fapps.datetime_start >= ' + cast (@datetimestart as nvarchar(12))
if (@includeuserproperty = 1)
set @TablesJoin = @TablesJoin + ' inner join (' + @listuserprops + ') as lup on lup.aleuser_id = fs.user_id '
Si cambio a Parámetros dinámicos . Siempre recibí este error, no estoy seguro de si es el poder o la API nunca vi algo así
Error:
Mi api :
public string getStudentDetails(string Name,Int64? Datetimestart, Int64? Datetimeend, string Listzones, string Listaps, string Listdevices, string Listuserprops, int? Topreg)
{
SqlConnection myConnection = new SqlConnection();
myConnection.ConnectionString = "Data Source=DESKTOP-R7QRMCV;Initial Catalog=DW_NSA;Integrated Security=True;TrustServerCertificate=true";
SqlCommand sqlCmd = new SqlCommand();
sqlCmd.CommandType = CommandType.StoredProcedure;
sqlCmd.CommandText = "GetMeasures2";
sqlCmd.Connection = myConnection;
sqlCmd.Parameters.AddWithValue("@Name", Name);
sqlCmd.Parameters.AddWithValue("@datetimestart", Datetimestart);
sqlCmd.Parameters.AddWithValue("@datetimeend", Datetimeend );
sqlCmd.Parameters.AddWithValue("@listzones", Listzones);
sqlCmd.Parameters.AddWithValue("@listaps", Listaps);
sqlCmd.Parameters.AddWithValue("@listdevices", Listdevices);
sqlCmd.Parameters.AddWithValue("@listuserprops", Listuserprops);
sqlCmd.Parameters.AddWithValue("@topreg", Topreg);
SqlDataAdapter sda = new SqlDataAdapter(sqlCmd);
DataSet ds = new DataSet();
string jsonString = string.Empty;
myConnection.Open();
sda.Fill(ds);
myConnection.Close();
if (ds.Tables.Count > 0 && ds.Tables[0].Rows.Count > 0)
{
jsonString = JsonConvert.SerializeObject(ds.Tables[0]);
}
return jsonString;
}
Pls uso nullable en el medio
De
listdevices as text, listuserprops as text
Para
listdevices as nullable text, listuserprops as nullable text
Gracias y saludos,
Mohammed Adnan
Aprenda Power BI: https://www.youtube.com/c/taik18
No funciona 😪
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
1 | |
1 |